From 87eda1e217c3f6d703ba00e56ef91c302563252f Mon Sep 17 00:00:00 2001 From: Gareth Jones Date: Sat, 22 Jun 2019 19:47:19 +1200 Subject: [PATCH 1/3] fix: add defined guards to util functions --- src/rules/util.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/rules/util.js b/src/rules/util.js index 0a6aad50f..994e3a135 100644 --- a/src/rules/util.js +++ b/src/rules/util.js @@ -125,18 +125,22 @@ const isTestCase = node => testCaseNames[getNodeName(node.callee)]; const isDescribe = node => - node.type === 'CallExpression' && describeAliases[getNodeName(node.callee)]; + node && + node.type === 'CallExpression' && + describeAliases[getNodeName(node.callee)]; const isFunction = node => - node.type === 'FunctionExpression' || node.type === 'ArrowFunctionExpression'; + (node && node.type === 'FunctionExpression') || + node.type === 'ArrowFunctionExpression'; const isString = node => - (node.type === 'Literal' && typeof node.value === 'string') || + (node && (node.type === 'Literal' && typeof node.value === 'string')) || isTemplateLiteral(node); -const isTemplateLiteral = node => node.type === 'TemplateLiteral'; +const isTemplateLiteral = node => node && node.type === 'TemplateLiteral'; -const hasExpressions = node => node.expressions && node.expressions.length > 0; +const hasExpressions = node => + node && node.expressions && node.expressions.length > 0; const getStringValue = arg => isTemplateLiteral(arg) ? arg.quasis[0].value.raw : arg.value; From bc2a122be2cb71f1f75f76f5b472bf0b3b0c359f Mon Sep 17 00:00:00 2001 From: Gareth Jones Date: Sat, 22 Jun 2019 19:55:09 +1200 Subject: [PATCH 2/3] chore: optimise conditionals --- src/rules/util.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/rules/util.js b/src/rules/util.js index 994e3a135..b067abfd5 100644 --- a/src/rules/util.js +++ b/src/rules/util.js @@ -130,12 +130,14 @@ const isDescribe = node => describeAliases[getNodeName(node.callee)]; const isFunction = node => - (node && node.type === 'FunctionExpression') || - node.type === 'ArrowFunctionExpression'; + node && + (node.type === 'FunctionExpression' || + node.type === 'ArrowFunctionExpression'); const isString = node => - (node && (node.type === 'Literal' && typeof node.value === 'string')) || - isTemplateLiteral(node); + node && + ((node.type === 'Literal' && typeof node.value === 'string') || + isTemplateLiteral(node)); const isTemplateLiteral = node => node && node.type === 'TemplateLiteral'; From 8e60dacbb506a993688fa085d40e4134627c6190 Mon Sep 17 00:00:00 2001 From: Gareth Jones Date: Sat, 22 Jun 2019 23:44:47 +1200 Subject: [PATCH 3/3] chore: add test to `no-empty-title` --- src/rules/__tests__/no-empty-title.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/rules/__tests__/no-empty-title.js b/src/rules/__tests__/no-empty-title.js index 886798a82..8070c47a2 100644 --- a/src/rules/__tests__/no-empty-title.js +++ b/src/rules/__tests__/no-empty-title.js @@ -11,6 +11,7 @@ const ruleTester = new RuleTester({ ruleTester.run('no-empty-title', rule, { valid: [ + 'describe()', 'someFn("", function () {})', 'describe(1, function () {})', 'describe("foo", function () {})',