File tree Expand file tree Collapse file tree 2 files changed +86
-0
lines changed Expand file tree Collapse file tree 2 files changed +86
-0
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * @fileoverview Prevent multiple component definition per file
3+ * @author Yannick Croissant
4+ */
5+ 'use strict' ;
6+
7+ // ------------------------------------------------------------------------------
8+ // Requirements
9+ // ------------------------------------------------------------------------------
10+
11+ var eslint = require ( 'eslint' ) . linter ;
12+ var ESLintTester = require ( 'eslint-tester' ) ;
13+
14+ // ------------------------------------------------------------------------------
15+ // Tests
16+ // ------------------------------------------------------------------------------
17+
18+ var eslintTester = new ESLintTester ( eslint ) ;
19+ eslintTester . addRuleTest ( 'lib/rules/no-multi-comp' , {
20+
21+ valid : [
22+ {
23+ code : 'var Hello = require(\'./components/Hello\');var HelloJohn = React.createClass({render: function() {return <Hello name="John" />;}});' ,
24+ settings : {
25+ ecmascript : 6 ,
26+ jsx : true
27+ }
28+ }
29+ ] ,
30+
31+ invalid : [
32+ {
33+ code : 'var Hello = React.createClass({render: function() {return <div>Hello {this.props.name}</div>;}});var HelloJohn = React.createClass({render: function() {return <Hello name="John" />;}});' ,
34+ settings : {
35+ ecmascript : 6 ,
36+ jsx : true
37+ } ,
38+ errors : [ {
39+ message : 'Declare only one React component per file'
40+ } ]
41+ }
42+ ]
43+ } ) ;
Original file line number Diff line number Diff line change 1+ /**
2+ * @fileoverview Prevent missing propTypes in a React component definition
3+ * @author Yannick Croissant
4+ */
5+ 'use strict' ;
6+
7+ // ------------------------------------------------------------------------------
8+ // Requirements
9+ // ------------------------------------------------------------------------------
10+
11+ var eslint = require ( 'eslint' ) . linter ;
12+ var ESLintTester = require ( 'eslint-tester' ) ;
13+
14+ // ------------------------------------------------------------------------------
15+ // Tests
16+ // ------------------------------------------------------------------------------
17+
18+ var eslintTester = new ESLintTester ( eslint ) ;
19+ eslintTester . addRuleTest ( 'lib/rules/prop-types' , {
20+
21+ valid : [
22+ {
23+ code : 'var Hello = React.createClass({propTypes: {name: React.PropTypes.string.isRequired},render: function() {return <div>Hello {this.props.name}</div>;}});' ,
24+ settings : {
25+ ecmascript : 6 ,
26+ jsx : true
27+ }
28+ }
29+ ] ,
30+
31+ invalid : [
32+ {
33+ code : 'var Hello = React.createClass({render: function() {return <div>Hello {this.props.name}</div>;}});' ,
34+ settings : {
35+ ecmascript : 6 ,
36+ jsx : true
37+ } ,
38+ errors : [ {
39+ message : 'Component definition is missing props validation'
40+ } ]
41+ }
42+ ]
43+ } ) ;
You can’t perform that action at this time.
0 commit comments