From f9f203be90f77070606c274fd38e9bd3dbc6b416 Mon Sep 17 00:00:00 2001 From: Oleg Gaidarenko Date: Sun, 28 Feb 2016 02:40:00 +0300 Subject: [PATCH] requireNewlineBeforeSingleStatementsInIf: correct it for 2.x branch --- ...-newline-before-single-statements-in-if.js | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/lib/rules/require-newline-before-single-statements-in-if.js b/lib/rules/require-newline-before-single-statements-in-if.js index b4daaaeb1..43982a29d 100644 --- a/lib/rules/require-newline-before-single-statements-in-if.js +++ b/lib/rules/require-newline-before-single-statements-in-if.js @@ -73,21 +73,32 @@ module.exports.prototype = { function getToken(entity, tokenType, tokenProperty) { if (entity.type === tokenType || !entity[tokenProperty]) { return entity; - } else { - return getToken(entity[tokenProperty], tokenType, tokenProperty); } + + return getToken(entity[tokenProperty], tokenType, tokenProperty); } file.iterateNodesByType('IfStatement', function(node) { + var token; var consequentNode = node.consequent; var alternateNode = node.alternate; if (isExpressionStatement(consequentNode)) { - assertDifferentLine(consequentNode, getToken(consequentNode, 'Keyword', 'previousSibling')); + token = file.getFirstNodeToken(consequentNode); + + assertDifferentLine( + consequentNode, + file.findPrevToken(token, 'Keyword') + ); } if (isExpressionStatement(alternateNode)) { - assertDifferentLine(alternateNode, getToken(alternateNode, 'Keyword', 'previousSibling')); + token = file.getFirstNodeToken(alternateNode); + + assertDifferentLine( + alternateNode, + file.findPrevToken(token, 'Keyword') + ); } }); }