88// Requirements
99// -----------------------------------------------------------------------------
1010
11+ const babelEslintVersion = require ( 'babel-eslint/package.json' ) . version ;
12+ const semver = require ( 'semver' ) ;
1113const RuleTester = require ( 'eslint' ) . RuleTester ;
14+
1215const rule = require ( '../../../lib/rules/forbid-prop-types' ) ;
1316
1417const parsers = require ( '../../helpers/parsers' ) ;
@@ -28,7 +31,7 @@ const parserOptions = {
2831const ruleTester = new RuleTester ( { parserOptions} ) ;
2932ruleTester . run ( 'forbid-prop-types' , rule , {
3033
31- valid : [ {
34+ valid : [ ] . concat ( {
3235 code : [
3336 'var First = createReactClass({' ,
3437 ' render: function() {' ,
@@ -137,7 +140,7 @@ ruleTester.run('forbid-prop-types', rule, {
137140 '};'
138141 ] . join ( '\n' ) ,
139142 parser : parsers . BABEL_ESLINT
140- } , {
143+ } , semver . satisfies ( babelEslintVersion , '< 9' ) ? {
141144 // Invalid code, should not be validated
142145 code : [
143146 'class Component extends React.Component {' ,
@@ -152,7 +155,7 @@ ruleTester.run('forbid-prop-types', rule, {
152155 '}'
153156 ] . join ( '\n' ) ,
154157 parser : parsers . BABEL_ESLINT
155- } , {
158+ } : [ ] , {
156159 code : [
157160 'var Hello = createReactClass({' ,
158161 ' render: function() {' ,
@@ -306,7 +309,7 @@ ruleTester.run('forbid-prop-types', rule, {
306309 ] . join ( '\n' ) ,
307310 parser : parsers . BABEL_ESLINT ,
308311 options : [ { checkContextTypes : true } ]
309- } , {
312+ } , semver . satisfies ( babelEslintVersion , '< 9' ) ? {
310313 // Invalid code, should not be validated
311314 code : [
312315 'class Component extends React.Component {' ,
@@ -322,7 +325,7 @@ ruleTester.run('forbid-prop-types', rule, {
322325 ] . join ( '\n' ) ,
323326 parser : parsers . BABEL_ESLINT ,
324327 options : [ { checkContextTypes : true } ]
325- } , {
328+ } : [ ] , {
326329 code : [
327330 'var Hello = createReactClass({' ,
328331 ' render: function() {' ,
@@ -480,7 +483,7 @@ ruleTester.run('forbid-prop-types', rule, {
480483 ] . join ( '\n' ) ,
481484 parser : parsers . BABEL_ESLINT ,
482485 options : [ { checkChildContextTypes : true } ]
483- } , {
486+ } , semver . satisfies ( babelEslintVersion , '< 9' ) ? {
484487 // Invalid code, should not be validated
485488 code : [
486489 'class Component extends React.Component {' ,
@@ -496,7 +499,7 @@ ruleTester.run('forbid-prop-types', rule, {
496499 ] . join ( '\n' ) ,
497500 parser : parsers . BABEL_ESLINT ,
498501 options : [ { checkChildContextTypes : true } ]
499- } , {
502+ } : [ ] , {
500503 code : [
501504 'var Hello = createReactClass({' ,
502505 ' render: function() {' ,
@@ -577,7 +580,7 @@ ruleTester.run('forbid-prop-types', rule, {
577580 ' bar: PropTypes.shape(Foo),' ,
578581 '};'
579582 ] . join ( '\n' )
580- } ] ,
583+ } ) ,
581584
582585 invalid : [ {
583586 code : [
0 commit comments