diff --git a/src/rules/__tests__/no-test-callback.test.ts b/src/rules/__tests__/no-test-callback.test.ts index 41b2a3827..1f3185621 100644 --- a/src/rules/__tests__/no-test-callback.test.ts +++ b/src/rules/__tests__/no-test-callback.test.ts @@ -18,6 +18,16 @@ ruleTester.run('no-test-callback', rule, { 'test("something", someArg)', ], invalid: [ + { + code: 'test("something", (...args) => {args[0]();})', + errors: [ + { + messageId: 'illegalTestCallback', + line: 1, + column: 20, + }, + ], + }, { code: 'test("something", done => {done();})', errors: [{ messageId: 'illegalTestCallback', line: 1, column: 19 }], diff --git a/src/rules/no-test-callback.ts b/src/rules/no-test-callback.ts index 5b32fdcb5..9607ad80b 100644 --- a/src/rules/no-test-callback.ts +++ b/src/rules/no-test-callback.ts @@ -34,6 +34,15 @@ export default createRule({ const [argument] = callback.params; + if (argument.type !== AST_NODE_TYPES.Identifier) { + context.report({ + node: argument, + messageId: 'illegalTestCallback', + }); + + return; + } + if (callback.async) { context.report({ node: argument,