Skip to content

Commit 2d4a73c

Browse files
committed
Add duplicate Object.spread tests without using babel-eslint
1 parent 970ed61 commit 2d4a73c

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

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

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,18 @@ ruleTester.run('boolean-prop-naming', rule, {
159159
rule: '^is[A-Z]([A-Za-z0-9]?)+'
160160
}],
161161
parser: 'babel-eslint'
162+
}, {
163+
// ES6 components as Component with boolean PropTypes and Object.spread syntax in PropTypes
164+
code: `
165+
const spreadProps = { aSpreadProp: PropTypes.string };
166+
class Hello extends Component {
167+
render () { return <div />; }
168+
}
169+
Hello.propTypes = {isSomething: PropTypes.bool, ...spreadProps}
170+
`,
171+
options: [{
172+
rule: '^is[A-Z]([A-Za-z0-9]?)+'
173+
}]
162174
}, {
163175
// ES6 components with static class properties and React.PropTypes
164176
code: `
@@ -377,6 +389,21 @@ ruleTester.run('boolean-prop-naming', rule, {
377389
}]
378390
}, {
379391
// ES6 components as React.Component with non-boolean PropTypes and Object.spread syntax
392+
code: `
393+
const spreadProps = { aSpreadProp: PropTypes.string };
394+
class Hello extends Component {
395+
render () { return <div />; }
396+
}
397+
Hello.propTypes = {something: PropTypes.bool, ...spreadProps}
398+
`,
399+
options: [{
400+
rule: '^is[A-Z]([A-Za-z0-9]?)+'
401+
}],
402+
errors: [{
403+
message: 'Prop name (something) doesn\'t match rule (^is[A-Z]([A-Za-z0-9]?)+)'
404+
}]
405+
}, {
406+
// ES6 components as React.Component with static class property, non-boolean PropTypes, and Object.spread syntax
380407
code: `
381408
const spreadProps = { aSpreadProp: PropTypes.string };
382409
class Hello extends React.Component {

0 commit comments

Comments
 (0)