Skip to content

Commit af2d24a

Browse files
committed
[Tests] make sure parsers.TS is harder to misuse
From #2930 (comment)
1 parent 342ad24 commit af2d24a

File tree

5 files changed

+14
-11
lines changed

5 files changed

+14
-11
lines changed

tests/helpers/parsers.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ module.exports = {
1111
TYPESCRIPT_ESLINT: path.join(__dirname, NODE_MODULES, 'typescript-eslint-parser'),
1212
'@TYPESCRIPT_ESLINT': path.join(__dirname, NODE_MODULES, '@typescript-eslint/parser'),
1313
TS: function TS(tests) {
14+
if (!Array.isArray(tests) || arguments.length > 1) {
15+
throw new SyntaxError('parsers.TS() takes a single array argument');
16+
}
1417
if (semver.satisfies(version, '>= 5')) {
1518
return tests;
1619
}

tests/lib/rules/boolean-prop-naming.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,7 @@ ruleTester.run('boolean-prop-naming', rule, {
416416
rule: '^is[A-Z]([A-Za-z0-9]?)+',
417417
validateNested: true
418418
}]
419-
}, parsers.TS({
419+
}, parsers.TS([{
420420
code: `
421421
type TestFNType = {
422422
isEnabled: boolean
@@ -428,7 +428,7 @@ ruleTester.run('boolean-prop-naming', rule, {
428428
}],
429429
parser: parsers['@TYPESCRIPT_ESLINT'],
430430
errors: []
431-
})),
431+
}])),
432432

433433
invalid: [].concat({
434434
// createReactClass components with PropTypes
@@ -956,7 +956,7 @@ ruleTester.run('boolean-prop-naming', rule, {
956956
messageId: 'patternMismatch',
957957
data: {propName: 'something', pattern: '^is[A-Z]([A-Za-z0-9]?)+'}
958958
}]
959-
}, parsers.TS({
959+
}, parsers.TS([{
960960
code: `
961961
type TestConstType = {
962962
enabled: boolean
@@ -984,5 +984,5 @@ ruleTester.run('boolean-prop-naming', rule, {
984984
errors: [{
985985
message: 'Prop name (enabled) doesn\'t match rule (^is[A-Z]([A-Za-z0-9]?)+)'
986986
}]
987-
}))
987+
}]))
988988
});

tests/lib/rules/jsx-key.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,11 @@ ruleTester.run('jsx-key', rule, {
7777
code: '[1, 2, 3]?.map(x => <BabelEslintApp />)',
7878
parser: parsers.BABEL_ESLINT,
7979
errors: [{messageId: 'missingIterKey'}]
80-
}, parsers.TS({
80+
}, parsers.TS([{
8181
code: '[1, 2, 3]?.map(x => <TypescriptEslintApp />)',
8282
parser: parsers['@TYPESCRIPT_ESLINT'],
8383
errors: [{messageId: 'missingIterKey'}]
84-
}), {
84+
}]), {
8585
code: '[1, 2, 3].map(x => <>{x}</>);',
8686
parser: parsers.BABEL_ESLINT,
8787
options: [{checkFragmentShorthand: true}],

tests/lib/rules/jsx-no-constructed-context-values.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ ruleTester.run('react-no-constructed-context-values', rule, {
106106
}
107107
`
108108
},
109-
parsers.TS(
109+
parsers.TS([
110110
{
111111
code: `
112112
import React from 'react';
@@ -141,12 +141,12 @@ ruleTester.run('react-no-constructed-context-values', rule, {
141141
`,
142142
parser: parsers['@TYPESCRIPT_ESLINT']
143143
}
144-
),
144+
]),
145145
{
146146
code: `
147147
import React from 'react';
148148
import BooleanContext from './BooleanContext';
149-
149+
150150
function ContextProvider(props) {
151151
return (
152152
<BooleanContext.Provider value>

tests/lib/rules/no-typos.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1856,7 +1856,7 @@ ruleTester.run('no-typos', rule, {
18561856
parserOptions: parserOptions
18571857
},
18581858
*/
1859-
}, parsers.TS({
1859+
}, parsers.TS([{
18601860
code: `
18611861
import 'prop-types'
18621862
`,
@@ -1874,5 +1874,5 @@ ruleTester.run('no-typos', rule, {
18741874
errors: [{
18751875
messageId: 'noPropTypesBinding'
18761876
}]
1877-
}))
1877+
}]))
18781878
});

0 commit comments

Comments
 (0)