From 3da1140c269e4c8b42931b599b4e034c000defcb Mon Sep 17 00:00:00 2001 From: Charley DAVID Date: Tue, 18 Apr 2017 20:58:21 -0300 Subject: [PATCH] Use pragma option & add more specs --- lib/rules/no-deprecated.js | 4 ++-- tests/lib/rules/no-deprecated.js | 10 +++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/rules/no-deprecated.js b/lib/rules/no-deprecated.js index 1c6ace661d..be063e91da 100644 --- a/lib/rules/no-deprecated.js +++ b/lib/rules/no-deprecated.js @@ -65,8 +65,8 @@ module.exports = { deprecated.MemberExpression['ReactPerf.getMeasurementsSummaryMap'] = ['15.0.0', 'ReactPerf.getWasted']; deprecated.MemberExpression['Perf.getMeasurementsSummaryMap'] = ['15.0.0', 'Perf.getWasted']; // 15.5.0 - deprecated.MemberExpression['React.createClass'] = ['15.5.0', 'the npm module create-react-class']; - deprecated.MemberExpression['React.PropTypes'] = ['15.5.0', 'the npm module prop-types']; + deprecated.MemberExpression[pragma + '.createClass'] = ['15.5.0', 'the npm module create-react-class']; + deprecated.MemberExpression[pragma + '.PropTypes'] = ['15.5.0', 'the npm module prop-types']; return deprecated; } diff --git a/tests/lib/rules/no-deprecated.js b/tests/lib/rules/no-deprecated.js index be5edae408..8ebb3ce847 100644 --- a/tests/lib/rules/no-deprecated.js +++ b/tests/lib/rules/no-deprecated.js @@ -31,7 +31,9 @@ ruleTester.run('no-deprecated', rule, { 'ReactDOMServer.renderToString(element);', 'ReactDOMServer.renderToStaticMarkup(element);', // Deprecated in a later version - {code: 'React.renderComponent()', settings: {react: {version: '0.11.0'}}} + {code: 'React.renderComponent()', settings: {react: {version: '0.11.0'}}}, + {code: 'React.createClass()', settings: {react: {version: '15.4.0'}}}, + {code: 'React.PropTypes', settings: {react: {version: '15.4.0'}}} ], invalid: [{ @@ -98,6 +100,12 @@ ruleTester.run('no-deprecated', rule, { errors: [{ message: 'React.createClass is deprecated since React 15.5.0, use the npm module create-react-class instead' }] + }, { + code: 'Foo.createClass({});', + settings: {react: {pragma: 'Foo'}}, + errors: [{ + message: 'Foo.createClass is deprecated since React 15.5.0, use the npm module create-react-class instead' + }] }, { code: 'React.PropTypes', errors: [{