From 80c9b33e5e44529afb01d38c392b17bb1deee0ea Mon Sep 17 00:00:00 2001 From: Mark Chandler Date: Tue, 13 Mar 2018 15:53:35 -0400 Subject: [PATCH] fix(valid-describe): add check for empty arguments (#94) Fixes #93 --- rules/__tests__/valid-describe.test.js | 10 ++++++++++ rules/valid-describe.js | 7 +++++++ 2 files changed, 17 insertions(+) diff --git a/rules/__tests__/valid-describe.test.js b/rules/__tests__/valid-describe.test.js index 2db4a2c3d..618184afe 100644 --- a/rules/__tests__/valid-describe.test.js +++ b/rules/__tests__/valid-describe.test.js @@ -71,6 +71,16 @@ ruleTester.run('valid-describe', rule, { }, ], }, + { + code: 'describe()', + errors: [ + { + message: 'Describe requires name and callback arguments', + line: 1, + column: 1, + }, + ], + }, { code: 'describe("foo", async () => {})', errors: [{ message: 'No async describe callback', line: 1, column: 17 }], diff --git a/rules/valid-describe.js b/rules/valid-describe.js index a44412c27..3da198064 100644 --- a/rules/valid-describe.js +++ b/rules/valid-describe.js @@ -37,6 +37,13 @@ module.exports = { return { CallExpression(node) { if (isDescribe(node)) { + if (node.arguments.length === 0) { + return context.report({ + message: 'Describe requires name and callback arguments', + loc: node.loc, + }); + } + const name = node.arguments[0]; const callbackFunction = node.arguments[1]; if (!isString(name)) {