Skip to content

Commit 9fbd037

Browse files
committed
Fix ESLint 6 compat by providing parser as absolute path to RuleTester
1 parent 8041075 commit 9fbd037

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+1343
-1229
lines changed

tests/helpers/parsers.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
'use strict';
2+
3+
const path = require('path');
4+
5+
const NODE_MODULES = '../../node_modules';
6+
7+
module.exports = {
8+
BABEL_ESLINT: path.join(__dirname, NODE_MODULES, 'babel-eslint'),
9+
TYPESCRIPT_ESLINT: path.join(__dirname, NODE_MODULES, 'typescript-eslint-parser')
10+
};

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

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
const rule = require('../../../lib/rules/boolean-prop-naming');
1212
const RuleTester = require('eslint').RuleTester;
1313

14+
const {BABEL_ESLINT} = require('../../helpers/parsers');
15+
1416
const parserOptions = {
1517
ecmaVersion: 2018,
1618
sourceType: 'module',
@@ -142,7 +144,7 @@ ruleTester.run('boolean-prop-naming', rule, {
142144
options: [{
143145
rule: '^is[A-Z]([A-Za-z0-9]?)+'
144146
}],
145-
parser: 'babel-eslint'
147+
parser: BABEL_ESLINT
146148
}, {
147149
// ES6 components with static class properties and Object.spread syntax in PropTypes
148150
code: `
@@ -155,7 +157,7 @@ ruleTester.run('boolean-prop-naming', rule, {
155157
options: [{
156158
rule: '^is[A-Z]([A-Za-z0-9]?)+'
157159
}],
158-
parser: 'babel-eslint'
160+
parser: BABEL_ESLINT
159161
}, {
160162
// ES6 components as Component with boolean PropTypes and Object.spread syntax in PropTypes
161163
code: `
@@ -179,7 +181,7 @@ ruleTester.run('boolean-prop-naming', rule, {
179181
options: [{
180182
rule: '^is[A-Z]([A-Za-z0-9]?)+'
181183
}],
182-
parser: 'babel-eslint'
184+
parser: BABEL_ESLINT
183185
}, {
184186
// ES6 components with static class properties an non-booleans
185187
code: `
@@ -191,7 +193,7 @@ ruleTester.run('boolean-prop-naming', rule, {
191193
options: [{
192194
rule: '^is[A-Z]([A-Za-z0-9]?)+'
193195
}],
194-
parser: 'babel-eslint'
196+
parser: BABEL_ESLINT
195197
}, {
196198
// ES6 components and Flowtype booleans
197199
code: `
@@ -203,7 +205,7 @@ ruleTester.run('boolean-prop-naming', rule, {
203205
options: [{
204206
rule: '^is[A-Z]([A-Za-z0-9]?)+'
205207
}],
206-
parser: 'babel-eslint'
208+
parser: BABEL_ESLINT
207209
}, {
208210
// ES6 components and Flowtype non-booleans
209211
code: `
@@ -215,7 +217,7 @@ ruleTester.run('boolean-prop-naming', rule, {
215217
options: [{
216218
rule: '^is[A-Z]([A-Za-z0-9]?)+'
217219
}],
218-
parser: 'babel-eslint'
220+
parser: BABEL_ESLINT
219221
}, {
220222
// Stateless components
221223
code: `
@@ -225,7 +227,7 @@ ruleTester.run('boolean-prop-naming', rule, {
225227
options: [{
226228
rule: '^is[A-Z]([A-Za-z0-9]?)+'
227229
}],
228-
parser: 'babel-eslint'
230+
parser: BABEL_ESLINT
229231
}, {
230232
// Functional components and Flowtype booleans
231233
code: `
@@ -237,7 +239,7 @@ ruleTester.run('boolean-prop-naming', rule, {
237239
options: [{
238240
rule: '^is[A-Z]([A-Za-z0-9]?)+'
239241
}],
240-
parser: 'babel-eslint'
242+
parser: BABEL_ESLINT
241243
}, {
242244
// Custom `propTypeNames` option
243245
code: `
@@ -253,7 +255,7 @@ ruleTester.run('boolean-prop-naming', rule, {
253255
propTypeNames: ['mutuallyExclusiveTrueProps'],
254256
rule: '^is[A-Z]([A-Za-z0-9]?)+'
255257
}],
256-
parser: 'babel-eslint'
258+
parser: BABEL_ESLINT
257259
}, {
258260
// Custom PropTypes that are specified as variables
259261
code: `
@@ -269,7 +271,7 @@ ruleTester.run('boolean-prop-naming', rule, {
269271
propTypeNames: ['bool', 'mutuallyExclusiveTrueProps'],
270272
rule: '^is[A-Z]([A-Za-z0-9]?)+'
271273
}],
272-
parser: 'babel-eslint'
274+
parser: BABEL_ESLINT
273275
}, {
274276
// Ensure rule doesn't crash on destructured objects [Issue #1369]
275277
code: `
@@ -279,7 +281,7 @@ ruleTester.run('boolean-prop-naming', rule, {
279281
options: [{
280282
rule: '^is[A-Z]([A-Za-z0-9]?)+'
281283
}],
282-
parser: 'babel-eslint'
284+
parser: BABEL_ESLINT
283285
}, {
284286
// Ensure rule doesn't crash on on components reference old-style Flow props
285287
code: `
@@ -291,7 +293,7 @@ ruleTester.run('boolean-prop-naming', rule, {
291293
options: [{
292294
rule: '^is[A-Z]([A-Za-z0-9]?)+'
293295
}],
294-
parser: 'babel-eslint'
296+
parser: BABEL_ESLINT
295297
}, {
296298
// No propWrapperFunctions setting
297299
code: `
@@ -328,7 +330,7 @@ ruleTester.run('boolean-prop-naming', rule, {
328330
}
329331
}
330332
`,
331-
parser: 'babel-eslint'
333+
parser: BABEL_ESLINT
332334
}, {
333335
// Ensure the rule does not throw when a prop isRequired when ES6 without static properties.
334336
code: `
@@ -372,7 +374,7 @@ ruleTester.run('boolean-prop-naming', rule, {
372374
options: [{
373375
rule: '^is[A-Z]([A-Za-z0-9]?)+'
374376
}],
375-
parser: 'babel-eslint'
377+
parser: BABEL_ESLINT
376378
}, {
377379
code: `
378380
class Hello extends React.Component {
@@ -501,7 +503,7 @@ ruleTester.run('boolean-prop-naming', rule, {
501503
options: [{
502504
rule: '^is[A-Z]([A-Za-z0-9]?)+'
503505
}],
504-
parser: 'babel-eslint',
506+
parser: BABEL_ESLINT,
505507
errors: [{
506508
message: 'Prop name (something) doesn\'t match rule (^is[A-Z]([A-Za-z0-9]?)+)'
507509
}]
@@ -532,7 +534,7 @@ ruleTester.run('boolean-prop-naming', rule, {
532534
options: [{
533535
rule: '^is[A-Z]([A-Za-z0-9]?)+'
534536
}],
535-
parser: 'babel-eslint',
537+
parser: BABEL_ESLINT,
536538
errors: [{
537539
message: 'Prop name (something) doesn\'t match rule (^is[A-Z]([A-Za-z0-9]?)+)'
538540
}]
@@ -547,7 +549,7 @@ ruleTester.run('boolean-prop-naming', rule, {
547549
options: [{
548550
rule: '^is[A-Z]([A-Za-z0-9]?)+'
549551
}],
550-
parser: 'babel-eslint',
552+
parser: BABEL_ESLINT,
551553
errors: [{
552554
message: 'Prop name (something) doesn\'t match rule (^is[A-Z]([A-Za-z0-9]?)+)'
553555
}]
@@ -559,7 +561,7 @@ ruleTester.run('boolean-prop-naming', rule, {
559561
options: [{
560562
rule: '^is[A-Z]([A-Za-z0-9]?)+'
561563
}],
562-
parser: 'babel-eslint',
564+
parser: BABEL_ESLINT,
563565
errors: [{
564566
message: 'Prop name (something) doesn\'t match rule (^is[A-Z]([A-Za-z0-9]?)+)'
565567
}]
@@ -573,7 +575,7 @@ ruleTester.run('boolean-prop-naming', rule, {
573575
options: [{
574576
rule: '^is[A-Z]([A-Za-z0-9]?)+'
575577
}],
576-
parser: 'babel-eslint',
578+
parser: BABEL_ESLINT,
577579
errors: [{
578580
message: 'Prop name (something) doesn\'t match rule (^is[A-Z]([A-Za-z0-9]?)+)'
579581
}]
@@ -589,7 +591,7 @@ ruleTester.run('boolean-prop-naming', rule, {
589591
propTypeNames: ['bool', 'mutuallyExclusiveTrueProps'],
590592
rule: '^is[A-Z]([A-Za-z0-9]?)+'
591593
}],
592-
parser: 'babel-eslint',
594+
parser: BABEL_ESLINT,
593595
errors: [{
594596
message: 'Prop name (something) doesn\'t match rule (^is[A-Z]([A-Za-z0-9]?)+)'
595597
}]
@@ -607,7 +609,7 @@ ruleTester.run('boolean-prop-naming', rule, {
607609
propTypeNames: ['bool', 'mutuallyExclusiveTrueProps'],
608610
rule: '^is[A-Z]([A-Za-z0-9]?)+'
609611
}],
610-
parser: 'babel-eslint',
612+
parser: BABEL_ESLINT,
611613
errors: [{
612614
message: 'Prop name (something) doesn\'t match rule (^is[A-Z]([A-Za-z0-9]?)+)'
613615
}, {
@@ -627,7 +629,7 @@ ruleTester.run('boolean-prop-naming', rule, {
627629
propTypeNames: ['bool', 'mutuallyExclusiveTrueProps'],
628630
rule: '^is[A-Z]([A-Za-z0-9]?)+'
629631
}],
630-
parser: 'babel-eslint',
632+
parser: BABEL_ESLINT,
631633
errors: [{
632634
message: 'Prop name (something) doesn\'t match rule (^is[A-Z]([A-Za-z0-9]?)+)'
633635
}, {
@@ -730,7 +732,7 @@ ruleTester.run('boolean-prop-naming', rule, {
730732
return <div>{props.showScore ? 'yeh' : 'no'}</div>;
731733
}
732734
}`,
733-
parser: 'babel-eslint',
735+
parser: BABEL_ESLINT,
734736
settings: {
735737
propWrapperFunctions: ['forbidExtraProps']
736738
},
@@ -802,7 +804,7 @@ ruleTester.run('boolean-prop-naming', rule, {
802804
options: [{
803805
rule: '^is[A-Z]([A-Za-z0-9]?)+'
804806
}],
805-
parser: 'babel-eslint',
807+
parser: BABEL_ESLINT,
806808
errors: [{
807809
message: 'Prop name (something) doesn\'t match rule (^is[A-Z]([A-Za-z0-9]?)+)'
808810
}]
@@ -843,7 +845,7 @@ ruleTester.run('boolean-prop-naming', rule, {
843845
options: [{
844846
rule: '^is[A-Z]([A-Za-z0-9]?)+'
845847
}],
846-
parser: 'babel-eslint',
848+
parser: BABEL_ESLINT,
847849
errors: [{
848850
message: 'Prop name (something) doesn\'t match rule (^is[A-Z]([A-Za-z0-9]?)+)'
849851
}]

0 commit comments

Comments
 (0)