diff --git a/tests/fixtures/typescript/src/test01.ts b/tests/fixtures/typescript/src/test01.ts index 917643c67..3d2e059e5 100644 --- a/tests/fixtures/typescript/src/test01.ts +++ b/tests/fixtures/typescript/src/test01.ts @@ -18,6 +18,13 @@ export type Props2 = { h?: string[] i?: readonly string[] } +export type Props3 = { + snake_case: string + 'kebab-case': number + camelCase: boolean + PascalCase?: string + foo: number +} export type Slots1 = { default(props: { msg: string }): any diff --git a/tests/lib/rules/no-dupe-keys.js b/tests/lib/rules/no-dupe-keys.js index 794dbd2ec..e4ca1e8ec 100644 --- a/tests/lib/rules/no-dupe-keys.js +++ b/tests/lib/rules/no-dupe-keys.js @@ -6,6 +6,9 @@ const rule = require('../../../lib/rules/no-dupe-keys') const RuleTester = require('../../eslint-compat').RuleTester +const { + getTypeScriptFixtureTestOptions +} = require('../../test-utils/typescript') const ruleTester = new RuleTester({ languageOptions: { @@ -511,6 +514,20 @@ ruleTester.run('no-dupe-keys', rule, { `, languageOptions: { parser: require('vue-eslint-parser') } + }, + { + code: ` + + `, + ...getTypeScriptFixtureTestOptions() } ], @@ -1245,6 +1262,30 @@ ruleTester.run('no-dupe-keys', rule, { endColumn: 24 } ] + }, + { + code: ` + + `, + errors: [ + { + message: + "Duplicate key 'foo'. May cause name collision in script or template tag.", + line: 7, + column: 13, + endLine: 9, + endColumn: 9 + } + ], + ...getTypeScriptFixtureTestOptions() } ] }) diff --git a/tests/lib/rules/prop-name-casing.js b/tests/lib/rules/prop-name-casing.js index a83893a5a..b50ff1b02 100644 --- a/tests/lib/rules/prop-name-casing.js +++ b/tests/lib/rules/prop-name-casing.js @@ -7,6 +7,9 @@ const semver = require('semver') const rule = require('../../../lib/rules/prop-name-casing') const RuleTester = require('../../eslint-compat').RuleTester +const { + getTypeScriptFixtureTestOptions +} = require('../../test-utils/typescript') const languageOptions = { ecmaVersion: 2018, @@ -376,6 +379,16 @@ ruleTester.run('prop-name-casing', rule, { { ignoreProps: ['ignored_prop', '/^ignored-pattern-/'] } ], languageOptions + }, + { + code: ` + + `, + ...getTypeScriptFixtureTestOptions() } ], @@ -751,6 +764,30 @@ ruleTester.run('prop-name-casing', rule, { line: 3 } ] + }, + { + code: ` + + `, + errors: [ + { + message: 'Prop "snake_case" is not in camelCase.', + line: 5 + }, + { + message: 'Prop "kebab-case" is not in camelCase.', + line: 5 + }, + { + message: 'Prop "PascalCase" is not in camelCase.', + line: 5 + } + ], + ...getTypeScriptFixtureTestOptions() } ] })