From e8e2b6256e52d1900a85b1a70590ba7371c19075 Mon Sep 17 00:00:00 2001 From: Mathias Schreck Date: Fri, 22 Nov 2019 10:47:22 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Support=20TDD=20interface=20in?= =?UTF-8?q?=20no-setup-in-describe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/util/ast.js | 5 ++++- test/rules/no-setup-in-describe.js | 11 +++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/util/ast.js b/lib/util/ast.js index 205b659..7482e4b 100644 --- a/lib/util/ast.js +++ b/lib/util/ast.js @@ -15,7 +15,10 @@ const describeAliases = [ 'context', 'xcontext', 'context.only', 'context.skip', 'suite', 'xsuite', 'suite.only', 'suite.skip' ]; -const hooks = [ 'before', 'after', 'beforeEach', 'afterEach', 'beforeAll', 'afterAll' ]; +const hooks = [ + 'before', 'after', 'beforeEach', 'afterEach', 'beforeAll', 'afterAll', + 'setup', 'teardown', 'suiteSetup', 'suiteTeardown' +]; const suiteConfig = [ 'timeout', 'slow', 'retries' ]; const testCaseNames = [ 'it', 'it.only', 'it.skip', 'xit', diff --git a/test/rules/no-setup-in-describe.js b/test/rules/no-setup-in-describe.js index 6bbd875..08e3e59 100644 --- a/test/rules/no-setup-in-describe.js +++ b/test/rules/no-setup-in-describe.js @@ -39,6 +39,10 @@ ruleTester.run('no-setup-in-describe', rule, { 'describe("", function () { function a() { b(); }; it(); })', 'describe("", function () { function a() { b.c; }; it(); })', 'describe("", function () { afterEach(function() { b(); }); it(); })', + 'suite("", function () { teardown(function() { b(); }); test(); })', + 'suite("", function () { suiteTeardown(function() { b(); }); test(); })', + 'suite("", function () { setup(function() { b(); }); test(); })', + 'suite("", function () { suiteSetup(function() { b(); }); test(); })', { code: 'describe("", function () { before(() => { b(); }); it(); })', parserOptions: { ecmaVersion: 6 } @@ -80,6 +84,13 @@ ruleTester.run('no-setup-in-describe', rule, { invalid: [ { + code: 'suite("", function () { a(); });', + errors: [ { + message: 'Unexpected function call in describe block.', + line: 1, + column: 25 + } ] + }, { code: 'describe("", function () { a(); });', errors: [ { message: 'Unexpected function call in describe block.',