Skip to content

Commit fa4e2a8

Browse files
committed
Re-add comments
1 parent 55dc6c8 commit fa4e2a8

File tree

4 files changed

+67
-0
lines changed

4 files changed

+67
-0
lines changed

tests/lib/rules/boolean-prop-naming.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,15 @@ const ruleTester = new RuleTester({parserOptions});
2929
ruleTester.run('boolean-prop-naming', rule, {
3030

3131
valid: [{
32+
// Should support both `is` and `has` prefixes by default
3233
code: `
3334
var Hello = createReactClass({
3435
propTypes: {isSomething: PropTypes.bool, hasValue: PropTypes.bool},
3536
render: function() { return <div />; }
3637
});
3738
`
3839
}, {
40+
// createReactClass components with PropTypes
3941
code: `
4042
var Hello = createReactClass({
4143
propTypes: {isSomething: PropTypes.bool},
@@ -46,6 +48,7 @@ ruleTester.run('boolean-prop-naming', rule, {
4648
rule: '^is[A-Z]([A-Za-z0-9]?)+'
4749
}]
4850
}, {
51+
// createReactClass components with React.PropTypes
4952
code: `
5053
var Hello = createReactClass({
5154
propTypes: {isSomething: React.PropTypes.bool},
@@ -56,6 +59,7 @@ ruleTester.run('boolean-prop-naming', rule, {
5659
rule: '^is[A-Z]([A-Za-z0-9]?)+'
5760
}]
5861
}, {
62+
// React.createClass components with PropTypes
5963
code: `
6064
var Hello = React.createClass({
6165
propTypes: {isSomething: PropTypes.bool},
@@ -71,6 +75,7 @@ ruleTester.run('boolean-prop-naming', rule, {
7175
}
7276
}
7377
}, {
78+
// React.createClass components with non-boolean PropTypes
7479
code: `
7580
var Hello = React.createClass({
7681
propTypes: {something: PropTypes.any},
@@ -86,6 +91,7 @@ ruleTester.run('boolean-prop-naming', rule, {
8691
}
8792
}
8893
}, {
94+
// ES6 components as React.Component with boolean PropTypes
8995
code: `
9096
class Hello extends React.Component {
9197
render () { return <div />; }
@@ -96,6 +102,7 @@ ruleTester.run('boolean-prop-naming', rule, {
96102
rule: '^is[A-Z]([A-Za-z0-9]?)+'
97103
}]
98104
}, {
105+
// ES6 components as React.Component with non-boolean PropTypes
99106
code: `
100107
class Hello extends React.Component {
101108
render () { return <div />; }
@@ -116,6 +123,7 @@ ruleTester.run('boolean-prop-naming', rule, {
116123
rule: '^is[A-Z]([A-Za-z0-9]?)+'
117124
}]
118125
}, {
126+
// ES6 components as Component with boolean PropTypes
119127
code: `
120128
class Hello extends Component {
121129
render () { return <div />; }
@@ -126,6 +134,7 @@ ruleTester.run('boolean-prop-naming', rule, {
126134
rule: '^is[A-Z]([A-Za-z0-9]?)+'
127135
}]
128136
}, {
137+
// ES6 components with static class properties and PropTypes
129138
code: `
130139
class Hello extends React.Component {
131140
static propTypes = {isSomething: PropTypes.bool};
@@ -137,6 +146,7 @@ ruleTester.run('boolean-prop-naming', rule, {
137146
}],
138147
parser: 'babel-eslint'
139148
}, {
149+
// ES6 components with static class properties and React.PropTypes
140150
code: `
141151
class Hello extends React.Component {
142152
static propTypes = {isSomething: React.PropTypes.bool};
@@ -148,6 +158,7 @@ ruleTester.run('boolean-prop-naming', rule, {
148158
}],
149159
parser: 'babel-eslint'
150160
}, {
161+
// ES6 components with static class properties an non-booleans
151162
code: `
152163
class Hello extends React.Component {
153164
static propTypes = {something: PropTypes.any};
@@ -159,6 +170,7 @@ ruleTester.run('boolean-prop-naming', rule, {
159170
}],
160171
parser: 'babel-eslint'
161172
}, {
173+
// ES6 components and Flowtype booleans
162174
code: `
163175
class Hello extends React.Component {
164176
props: {isSomething: boolean};
@@ -170,6 +182,7 @@ ruleTester.run('boolean-prop-naming', rule, {
170182
}],
171183
parser: 'babel-eslint'
172184
}, {
185+
// ES6 components and Flowtype non-booleans
173186
code: `
174187
class Hello extends React.Component {
175188
props: {something: any};
@@ -181,6 +194,7 @@ ruleTester.run('boolean-prop-naming', rule, {
181194
}],
182195
parser: 'babel-eslint'
183196
}, {
197+
// Stateless components
184198
code: `
185199
var Hello = ({isSomething}) => { return <div /> }
186200
Hello.propTypes = {isSomething: PropTypes.bool};
@@ -190,6 +204,7 @@ ruleTester.run('boolean-prop-naming', rule, {
190204
}],
191205
parser: 'babel-eslint'
192206
}, {
207+
// Functional components and Flowtype booleans
193208
code: `
194209
type Props = {
195210
isSomething: boolean;
@@ -201,6 +216,7 @@ ruleTester.run('boolean-prop-naming', rule, {
201216
}],
202217
parser: 'babel-eslint'
203218
}, {
219+
// Custom `propTypeNames` option
204220
code: `
205221
class Hello extends React.Component {
206222
static propTypes = {
@@ -216,6 +232,7 @@ ruleTester.run('boolean-prop-naming', rule, {
216232
}],
217233
parser: 'babel-eslint'
218234
}, {
235+
// Custom PropTypes that are specified as variables
219236
code: `
220237
class Hello extends React.Component {
221238
static propTypes = {
@@ -231,6 +248,7 @@ ruleTester.run('boolean-prop-naming', rule, {
231248
}],
232249
parser: 'babel-eslint'
233250
}, {
251+
// Ensure rule doesn't crash on destructured objects [Issue #1369]
234252
code: `
235253
var x = {a: 1}
236254
var y = {...x}
@@ -240,6 +258,7 @@ ruleTester.run('boolean-prop-naming', rule, {
240258
}],
241259
parser: 'babel-eslint'
242260
}, {
261+
// Ensure rule doesn't crash on on components reference old-style Flow props
243262
code: `
244263
class Hello extends PureComponent {
245264
props: PropsType;
@@ -253,6 +272,7 @@ ruleTester.run('boolean-prop-naming', rule, {
253272
}],
254273

255274
invalid: [{
275+
// createReactClass components with PropTypes
256276
code: `
257277
var Hello = createReactClass({
258278
propTypes: {something: PropTypes.bool},
@@ -266,6 +286,7 @@ ruleTester.run('boolean-prop-naming', rule, {
266286
message: 'Prop name (something) doesn\'t match rule (^is[A-Z]([A-Za-z0-9]?)+)'
267287
}]
268288
}, {
289+
// createReactClass components with React.PropTypes
269290
code: `
270291
var Hello = createReactClass({
271292
propTypes: {something: React.PropTypes.bool},
@@ -279,6 +300,7 @@ ruleTester.run('boolean-prop-naming', rule, {
279300
message: 'Prop name (something) doesn\'t match rule (^is[A-Z]([A-Za-z0-9]?)+)'
280301
}]
281302
}, {
303+
// React.createClass components with PropTypes
282304
code: `
283305
var Hello = React.createClass({
284306
propTypes: {something: PropTypes.bool},
@@ -297,6 +319,7 @@ ruleTester.run('boolean-prop-naming', rule, {
297319
message: 'Prop name (something) doesn\'t match rule (^is[A-Z]([A-Za-z0-9]?)+)'
298320
}]
299321
}, {
322+
// ES6 components as React.Component with boolean PropTypes
300323
code: `
301324
class Hello extends React.Component {
302325
render () { return <div />; }
@@ -310,6 +333,7 @@ ruleTester.run('boolean-prop-naming', rule, {
310333
message: 'Prop name (something) doesn\'t match rule (^is[A-Z]([A-Za-z0-9]?)+)'
311334
}]
312335
}, {
336+
// ES6 components as Component with non-boolean PropTypes
313337
code: `
314338
class Hello extends Component {
315339
render () { return <div />; }
@@ -323,6 +347,7 @@ ruleTester.run('boolean-prop-naming', rule, {
323347
message: 'Prop name (something) doesn\'t match rule (^is[A-Z]([A-Za-z0-9]?)+)'
324348
}]
325349
}, {
350+
// ES6 components as React.Component with non-boolean PropTypes
326351
code: `
327352
class Hello extends React.Component {
328353
static propTypes = {something: PropTypes.bool};
@@ -337,6 +362,7 @@ ruleTester.run('boolean-prop-naming', rule, {
337362
message: 'Prop name (something) doesn\'t match rule (^is[A-Z]([A-Za-z0-9]?)+)'
338363
}]
339364
}, {
365+
// ES6 components as React.Component with non-boolean PropTypes
340366
code: `
341367
class Hello extends React.Component {
342368
props: {something: boolean};
@@ -377,6 +403,7 @@ ruleTester.run('boolean-prop-naming', rule, {
377403
message: 'Prop name (something) doesn\'t match rule (^is[A-Z]([A-Za-z0-9]?)+)'
378404
}]
379405
}, {
406+
// ES6 components and Flowtype non-booleans
380407
code: `
381408
class Hello extends React.Component {
382409
static propTypes = {something: PropTypes.mutuallyExclusiveTrueProps};

tests/lib/rules/no-typos.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ ruleTester.run('no-typos', rule, {
149149
`,
150150
parserOptions: parserOptions
151151
}, {
152+
// This case is currently not supported
152153
code: `
153154
class First extends React.Component {}
154155
First["prop" + "Types"] = {};
@@ -158,6 +159,7 @@ ruleTester.run('no-typos', rule, {
158159
`,
159160
parserOptions: parserOptions
160161
}, {
162+
// This case is currently not supported
161163
code: `
162164
class First extends React.Component {}
163165
First["PROP" + "TYPES"] = {};

0 commit comments

Comments
 (0)