8
8
// Requirements
9
9
// -----------------------------------------------------------------------------
10
10
11
+ const babelEslintVersion = require ( 'babel-eslint/package.json' ) . version ;
12
+ const semver = require ( 'semver' ) ;
11
13
const RuleTester = require ( 'eslint' ) . RuleTester ;
14
+
12
15
const rule = require ( '../../../lib/rules/forbid-prop-types' ) ;
13
16
14
17
const parsers = require ( '../../helpers/parsers' ) ;
@@ -28,7 +31,7 @@ const parserOptions = {
28
31
const ruleTester = new RuleTester ( { parserOptions} ) ;
29
32
ruleTester . run ( 'forbid-prop-types' , rule , {
30
33
31
- valid : [ {
34
+ valid : [ ] . concat ( {
32
35
code : [
33
36
'var First = createReactClass({' ,
34
37
' render: function() {' ,
@@ -137,7 +140,7 @@ ruleTester.run('forbid-prop-types', rule, {
137
140
'};'
138
141
] . join ( '\n' ) ,
139
142
parser : parsers . BABEL_ESLINT
140
- } , {
143
+ } , semver . satisfies ( babelEslintVersion , '< 9' ) ? {
141
144
// Invalid code, should not be validated
142
145
code : [
143
146
'class Component extends React.Component {' ,
@@ -152,7 +155,7 @@ ruleTester.run('forbid-prop-types', rule, {
152
155
'}'
153
156
] . join ( '\n' ) ,
154
157
parser : parsers . BABEL_ESLINT
155
- } , {
158
+ } : [ ] , {
156
159
code : [
157
160
'var Hello = createReactClass({' ,
158
161
' render: function() {' ,
@@ -306,7 +309,7 @@ ruleTester.run('forbid-prop-types', rule, {
306
309
] . join ( '\n' ) ,
307
310
parser : parsers . BABEL_ESLINT ,
308
311
options : [ { checkContextTypes : true } ]
309
- } , {
312
+ } , semver . satisfies ( babelEslintVersion , '< 9' ) ? {
310
313
// Invalid code, should not be validated
311
314
code : [
312
315
'class Component extends React.Component {' ,
@@ -322,7 +325,7 @@ ruleTester.run('forbid-prop-types', rule, {
322
325
] . join ( '\n' ) ,
323
326
parser : parsers . BABEL_ESLINT ,
324
327
options : [ { checkContextTypes : true } ]
325
- } , {
328
+ } : [ ] , {
326
329
code : [
327
330
'var Hello = createReactClass({' ,
328
331
' render: function() {' ,
@@ -480,7 +483,7 @@ ruleTester.run('forbid-prop-types', rule, {
480
483
] . join ( '\n' ) ,
481
484
parser : parsers . BABEL_ESLINT ,
482
485
options : [ { checkChildContextTypes : true } ]
483
- } , {
486
+ } , semver . satisfies ( babelEslintVersion , '< 9' ) ? {
484
487
// Invalid code, should not be validated
485
488
code : [
486
489
'class Component extends React.Component {' ,
@@ -496,7 +499,7 @@ ruleTester.run('forbid-prop-types', rule, {
496
499
] . join ( '\n' ) ,
497
500
parser : parsers . BABEL_ESLINT ,
498
501
options : [ { checkChildContextTypes : true } ]
499
- } , {
502
+ } : [ ] , {
500
503
code : [
501
504
'var Hello = createReactClass({' ,
502
505
' render: function() {' ,
@@ -577,7 +580,7 @@ ruleTester.run('forbid-prop-types', rule, {
577
580
' bar: PropTypes.shape(Foo),' ,
578
581
'};'
579
582
] . join ( '\n' )
580
- } ] ,
583
+ } ) ,
581
584
582
585
invalid : [ {
583
586
code : [
0 commit comments