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()
}
]
})