Skip to content

Commit 2d28512

Browse files
committed
Add propTypes tests
1 parent e5bf7da commit 2d28512

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

tests/lib/rules/no-unused-prop-types.js

+50
Original file line numberDiff line numberDiff line change
@@ -2916,6 +2916,21 @@ ruleTester.run('no-unused-prop-types', rule, {
29162916
'}'
29172917
].join('\n'),
29182918
parser: 'babel-eslint'
2919+
}, {
2920+
code: [
2921+
'import BasePerson from \'./types\'',
2922+
'class Hello extends React.Component {',
2923+
' render () {',
2924+
' return <div>Hello {this.props.person.firstname}</div>;',
2925+
' }',
2926+
'}',
2927+
'Hello.propTypes = {',
2928+
' person: ProTypes.shape({',
2929+
' ...BasePerson,',
2930+
' lastname: PropTypes.string',
2931+
' })',
2932+
'};'
2933+
].join('\n')
29192934
}
29202935
],
29212936

@@ -4846,6 +4861,22 @@ ruleTester.run('no-unused-prop-types', rule, {
48464861
errors: [{
48474862
message: '\'lastname\' PropType is defined but prop is never used'
48484863
}]
4864+
}, {
4865+
code: [
4866+
'class Hello extends React.Component {',
4867+
' render () {',
4868+
' return <div>Hello {this.props.firstname}</div>;',
4869+
' }',
4870+
'}',
4871+
'Hello.propTypes = {',
4872+
' ...BasePerson,',
4873+
' lastname: PropTypes.string',
4874+
'};'
4875+
].join('\n'),
4876+
parser: 'babel-eslint',
4877+
errors: [{
4878+
message: '\'lastname\' PropType is defined but prop is never used'
4879+
}]
48494880
}, {
48504881
code: [
48514882
'import type {BasePerson} from \'./types\'',
@@ -4867,6 +4898,25 @@ ruleTester.run('no-unused-prop-types', rule, {
48674898
errors: [{
48684899
message: '\'person.lastname\' PropType is defined but prop is never used'
48694900
}]
4901+
}, {
4902+
code: [
4903+
'import BasePerson from \'./types\'',
4904+
'class Hello extends React.Component {',
4905+
' render () {',
4906+
' return <div>Hello {this.props.person.firstname}</div>;',
4907+
' }',
4908+
'}',
4909+
'Hello.propTypes = {',
4910+
' person: ProTypes.shape({',
4911+
' ...BasePerson,',
4912+
' lastname: PropTypes.string',
4913+
' })',
4914+
'};'
4915+
].join('\n'),
4916+
options: [{skipShapeProps: false}],
4917+
errors: [{
4918+
message: '\'person.lastname\' PropType is defined but prop is never used'
4919+
}]
48704920
}
48714921

48724922
/* , {

0 commit comments

Comments
 (0)