@@ -795,6 +795,19 @@ ruleTester.run('prop-types', rule, {
795795 '}'
796796 ] . join ( '\n' ) ,
797797 parser : 'babel-eslint'
798+ } , {
799+ code : [
800+ 'class Hello extends React.Component {' ,
801+ ' constructor(props, context) {' ,
802+ ' super(props, context)' ,
803+ ' this.state = { status: this.props.source.uri }' ,
804+ ' }' ,
805+ ' static propTypes = {' ,
806+ ' source: PropTypes.object' ,
807+ ' }' ,
808+ '}'
809+ ] . join ( '\n' ) ,
810+ parser : 'babel-eslint'
798811 } , {
799812 // Should not be detected as a component
800813 code : [
@@ -1286,6 +1299,33 @@ ruleTester.run('prop-types', rule, {
12861299 { message : '\'source\' is missing in props validation for Hello' } ,
12871300 { message : '\'source.uri\' is missing in props validation for Hello' }
12881301 ]
1302+ } , {
1303+ code : [
1304+ 'class Hello extends React.Component {' ,
1305+ ' constructor(props, context) {' ,
1306+ ' super(props, context)' ,
1307+ ' this.state = { status: this.props.source }' ,
1308+ ' }' ,
1309+ '}'
1310+ ] . join ( '\n' ) ,
1311+ parser : 'babel-eslint' ,
1312+ errors : [
1313+ { message : '\'source\' is missing in props validation for Hello' }
1314+ ]
1315+ } , {
1316+ code : [
1317+ 'class Hello extends React.Component {' ,
1318+ ' constructor(props, context) {' ,
1319+ ' super(props, context)' ,
1320+ ' this.state = { status: this.props.source.uri }' ,
1321+ ' }' ,
1322+ '}'
1323+ ] . join ( '\n' ) ,
1324+ parser : 'babel-eslint' ,
1325+ errors : [
1326+ { message : '\'source\' is missing in props validation for Hello' } ,
1327+ { message : '\'source.uri\' is missing in props validation for Hello' }
1328+ ]
12891329 }
12901330 ]
12911331} ) ;
0 commit comments