@@ -557,26 +557,6 @@ ruleTester.run('no-unused-prop-types', rule, {
557557 '});'
558558 ] . join ( '\n' ) ,
559559 options : [ { customValidators : [ 'CustomValidator' ] } ]
560- } , {
561- code : [
562- 'class Comp1 extends Component {' ,
563- ' render() {' ,
564- ' return <span />;' ,
565- ' }' ,
566- '}' ,
567- 'Comp1.propTypes = {' ,
568- ' prop1: PropTypes.number' ,
569- '};' ,
570- 'class Comp2 extends Component {' ,
571- ' render() {' ,
572- ' return <span />;' ,
573- ' }' ,
574- '}' ,
575- 'Comp2.propTypes = {' ,
576- ' prop2: PropTypes.arrayOf(Comp1.propTypes.prop1)' ,
577- '};'
578- ] . join ( '\n' ) ,
579- parser : 'babel-eslint'
580560 } , {
581561 code : [
582562 'const SomeComponent = createReactClass({' ,
@@ -782,54 +762,6 @@ ruleTester.run('no-unused-prop-types', rule, {
782762 ' }' ,
783763 '});'
784764 ] . join ( '\n' )
785- } , {
786- code : [
787- 'const statelessComponent = (props) => {' ,
788- ' const subRender = () => {' ,
789- ' return <span>{props.someProp}</span>;' ,
790- ' };' ,
791- ' return <div>{subRender()}</div>;' ,
792- '};' ,
793- 'statelessComponent.propTypes = {' ,
794- ' someProp: PropTypes.string' ,
795- '};'
796- ] . join ( '\n' )
797- } , {
798- code : [
799- 'const statelessComponent = ({ someProp }) => {' ,
800- ' const subRender = () => {' ,
801- ' return <span>{someProp}</span>;' ,
802- ' };' ,
803- ' return <div>{subRender()}</div>;' ,
804- '};' ,
805- 'statelessComponent.propTypes = {' ,
806- ' someProp: PropTypes.string' ,
807- '};'
808- ] . join ( '\n' )
809- } , {
810- code : [
811- 'const statelessComponent = function({ someProp }) {' ,
812- ' const subRender = () => {' ,
813- ' return <span>{someProp}</span>;' ,
814- ' };' ,
815- ' return <div>{subRender()}</div>;' ,
816- '};' ,
817- 'statelessComponent.propTypes = {' ,
818- ' someProp: PropTypes.string' ,
819- '};'
820- ] . join ( '\n' )
821- } , {
822- code : [
823- 'function statelessComponent({ someProp }) {' ,
824- ' const subRender = () => {' ,
825- ' return <span>{someProp}</span>;' ,
826- ' };' ,
827- ' return <div>{subRender()}</div>;' ,
828- '};' ,
829- 'statelessComponent.propTypes = {' ,
830- ' someProp: PropTypes.string' ,
831- '};'
832- ] . join ( '\n' )
833765 } , {
834766 code : [
835767 'function notAComponent({ something }) {' ,
@@ -3215,6 +3147,49 @@ ruleTester.run('no-unused-prop-types', rule, {
32153147 line : 11 ,
32163148 column : 8
32173149 } ]
3150+ } , { // None of the props are used issue #1162
3151+ code : [
3152+ 'import React from "react"; ' ,
3153+ 'var Hello = React.createReactClass({' ,
3154+ ' propTypes: {' ,
3155+ ' name: React.PropTypes.string' ,
3156+ ' },' ,
3157+ ' render: function() {' ,
3158+ ' return <div>Hello Bob</div>;' ,
3159+ ' }' ,
3160+ '});'
3161+ ] . join ( '\n' ) ,
3162+ errors : [ {
3163+ message : '\'name\' PropType is defined but prop is never used'
3164+ } ]
3165+ } , {
3166+ code : [
3167+ 'class Comp1 extends Component {' ,
3168+ ' render() {' ,
3169+ ' return <span />;' ,
3170+ ' }' ,
3171+ '}' ,
3172+ 'Comp1.propTypes = {' ,
3173+ ' prop1: PropTypes.number' ,
3174+ '};' ,
3175+ 'class Comp2 extends Component {' ,
3176+ ' render() {' ,
3177+ ' return <span />;' ,
3178+ ' }' ,
3179+ '}' ,
3180+ 'Comp2.propTypes = {' ,
3181+ ' prop2: PropTypes.arrayOf(Comp1.propTypes.prop1)' ,
3182+ '};'
3183+ ] . join ( '\n' ) ,
3184+ parser : 'babel-eslint' ,
3185+ errors : [ {
3186+ message : '\'prop1\' PropType is defined but prop is never used'
3187+ } , {
3188+ message : '\'prop2\' PropType is defined but prop is never used'
3189+ } , {
3190+ message : '\'prop2.*\' PropType is defined but prop is never used'
3191+ } ]
3192+
32183193 }
32193194 /* , {
32203195 // Enable this when the following issue is fixed
0 commit comments