Skip to content

Commit 77459ec

Browse files
committed
Merge pull request #260 from gaearon/prop-types-false-positive
Failing test case for using this.props in constructor
2 parents fd7ed91 + ac97eba commit 77459ec

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

tests/lib/rules/prop-types.js

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)