From e57ca07cc8ad1f7a9e8c2d1601937aad7be796e6 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Fri, 11 May 2018 16:21:11 -0700 Subject: [PATCH] [Fix] add an additional fix for #1785, and tests --- lib/util/version.js | 2 +- tests/lib/rules/no-deprecated.js | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/lib/util/version.js b/lib/util/version.js index cbdec7d919..252d4f592d 100644 --- a/lib/util/version.js +++ b/lib/util/version.js @@ -27,7 +27,7 @@ function getFlowVersionFromContext(context) { } function test(context, methodVer, confVer) { - methodVer = methodVer.split('.').map(part => Number(part)); + methodVer = String(methodVer || '').split('.').map(part => Number(part)); const higherMajor = methodVer[0] < confVer[0]; const higherMinor = methodVer[0] === confVer[0] && methodVer[1] < confVer[1]; const higherOrEqualPatch = methodVer[0] === confVer[0] && methodVer[1] === confVer[1] && methodVer[2] <= confVer[2]; diff --git a/tests/lib/rules/no-deprecated.js b/tests/lib/rules/no-deprecated.js index b1b5630c33..a1165563d4 100644 --- a/tests/lib/rules/no-deprecated.js +++ b/tests/lib/rules/no-deprecated.js @@ -75,6 +75,7 @@ ruleTester.run('no-deprecated', rule, { { code: ` class Foo { + constructor() {} componentWillMount() {} componentWillReceiveProps() {} componentWillUpdate() {} @@ -379,6 +380,35 @@ ruleTester.run('no-deprecated', rule, { ) } ] + }, + { + code: ` + class Foo extends React.Component { + constructor() {} + componentWillMount() {} + componentWillReceiveProps() {} + componentWillUpdate() {} + } + `, + errors: [ + { + message: errorMessage( + 'componentWillMount', '16.3.0', 'UNSAFE_componentWillMount', + 'https://reactjs.org/docs/react-component.html#unsafe_componentwillmount' + ) + }, + { + message: errorMessage( + 'componentWillReceiveProps', '16.3.0', 'UNSAFE_componentWillReceiveProps', + 'https://reactjs.org/docs/react-component.html#unsafe_componentwillreceiveprops' + ) + }, + { + message: errorMessage('componentWillUpdate', '16.3.0', 'UNSAFE_componentWillUpdate', + 'https://reactjs.org/docs/react-component.html#unsafe_componentwillupdate' + ) + } + ] } ] });