From 553bf953b8d56d51ecda9cf8011559a56df873fc Mon Sep 17 00:00:00 2001 From: Sstern6 Date: Thu, 25 Oct 2018 20:35:33 -0700 Subject: [PATCH] Chore: Add tests for prop-types destructuring --- tests/lib/rules/prop-types.js | 52 +++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/tests/lib/rules/prop-types.js b/tests/lib/rules/prop-types.js index acc540d109..13c270c785 100644 --- a/tests/lib/rules/prop-types.js +++ b/tests/lib/rules/prop-types.js @@ -2235,6 +2235,58 @@ ruleTester.run('prop-types', rule, { column: 35, type: 'Identifier' }] + }, { + code: [ + 'class Hello extends React.Component {', + ' render() {', + ' const { name, ...rest } = this.props', + ' return
Hello
;', + ' }', + '}' + ].join('\n'), + errors: [{ + message: '\'name\' is missing in props validation', + line: 3, + column: 13, + type: 'Property' + }] + }, { + code: [ + 'class Hello extends React.Component {', + ' render() {', + ' const { name, title, ...rest } = this.props', + ' return
Hello
;', + ' }', + '}', + 'Hello.propTypes = {', + ' name: PropTypes.string', + '}' + ].join('\n'), + errors: [{ + message: '\'title\' is missing in props validation', + line: 3, + column: 19, + type: 'Property' + }] + }, { + code: [ + 'class Hello extends React.Component {', + ' renderStuff() {', + ' const { name, ...rest } = this.props', + ' return (
{name}
);', + ' }', + ' render() {', + ' this.renderStuff()', + ' }', + '}', + 'Hello.propTypes = {}' + ].join('\n'), + errors: [{ + message: '\'name\' is missing in props validation', + line: 3, + column: 13, + type: 'Property' + }] }, { code: [ '/** @extends React.Component */',