diff --git a/tests/_utils/in-memory-fs.js b/tests/_utils/in-memory-fs.js index 2cf536794c0..8242096dc90 100644 --- a/tests/_utils/in-memory-fs.js +++ b/tests/_utils/in-memory-fs.js @@ -4,9 +4,17 @@ */ "use strict"; +//----------------------------------------------------------------------------- +// Requirements +//----------------------------------------------------------------------------- + const path = require("path"); const { Volume, createFsFromVolume } = require("memfs"); +//----------------------------------------------------------------------------- +// Helpers +//----------------------------------------------------------------------------- + /** * Define in-memory file system. * @param {Object} options The options. @@ -52,6 +60,10 @@ function defineInMemoryFs({ return fs; } +//----------------------------------------------------------------------------- +// Exports +//----------------------------------------------------------------------------- + module.exports = { defineInMemoryFs }; diff --git a/tests/bin/eslint.js b/tests/bin/eslint.js index c9dbb3fdbe3..55c26fba077 100644 --- a/tests/bin/eslint.js +++ b/tests/bin/eslint.js @@ -5,13 +5,25 @@ "use strict"; +//----------------------------------------------------------------------------- +// Requirements +//----------------------------------------------------------------------------- + const childProcess = require("child_process"); const fs = require("fs"); const assert = require("chai").assert; const path = require("path"); +//------------------------------------------------------------------------------ +// Data +//------------------------------------------------------------------------------ + const EXECUTABLE_PATH = path.resolve(path.join(__dirname, "../../bin/eslint.js")); +//----------------------------------------------------------------------------- +// Helpers +//----------------------------------------------------------------------------- + /** * Returns a Promise for when a child process exits * @param {ChildProcess} exitingProcess The child process @@ -48,6 +60,10 @@ function getOutput(runningProcess) { return awaitExit(runningProcess).then(() => ({ stdout, stderr })); } +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + describe("bin/eslint.js", () => { const forkedProcesses = new Set(); diff --git a/tests/conf/eslint-all.js b/tests/conf/eslint-all.js index c034b35b254..472ac3b25d7 100644 --- a/tests/conf/eslint-all.js +++ b/tests/conf/eslint-all.js @@ -13,6 +13,10 @@ const assert = require("chai").assert; const eslintAll = require("../../conf/eslint-all"); const rules = eslintAll.rules; +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + describe("eslint-all", () => { it("should only include rules", () => { const ruleNames = Object.keys(rules); diff --git a/tests/conf/eslint-recommended.js b/tests/conf/eslint-recommended.js index 89d9f4447fd..a3068e14140 100644 --- a/tests/conf/eslint-recommended.js +++ b/tests/conf/eslint-recommended.js @@ -13,6 +13,10 @@ const assert = require("chai").assert; const eslintRecommended = require("../../conf/eslint-recommended"); const rules = eslintRecommended.rules; +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + describe("eslint-recommended", () => { it("should configure recommended rules as error", () => { assert.strictEqual(rules["no-undef"], "error"); diff --git a/tests/lib/cli-engine/file-enumerator.js b/tests/lib/cli-engine/file-enumerator.js index 1027038d13d..a1de4cd2161 100644 --- a/tests/lib/cli-engine/file-enumerator.js +++ b/tests/lib/cli-engine/file-enumerator.js @@ -4,6 +4,10 @@ */ "use strict"; +//------------------------------------------------------------------------------ +// Requirements +//------------------------------------------------------------------------------ + const fs = require("fs"); const path = require("path"); const os = require("os"); @@ -17,6 +21,10 @@ const { const { createCustomTeardown } = require("../../_utils"); const { FileEnumerator } = require("../../../lib/cli-engine/file-enumerator"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + describe("FileEnumerator", () => { describe("'iterateFiles(patterns)' method should iterate files and configs.", () => { describe("with three directories ('lib', 'lib/nested', 'test') that contains 'one.js' and 'two.js'", () => { diff --git a/tests/lib/cli-engine/formatters/stylish.js b/tests/lib/cli-engine/formatters/stylish.js index 66f6abe464a..24f4be9f32b 100644 --- a/tests/lib/cli-engine/formatters/stylish.js +++ b/tests/lib/cli-engine/formatters/stylish.js @@ -14,6 +14,10 @@ const assert = require("chai").assert, proxyquire = require("proxyquire"), sinon = require("sinon"); +//----------------------------------------------------------------------------- +// Helpers +//----------------------------------------------------------------------------- + /* * Chalk protects its methods so we need to inherit from it * for Sinon to work. diff --git a/tests/lib/cli-engine/load-rules.js b/tests/lib/cli-engine/load-rules.js index 1ff1470cd14..beebecfb386 100644 --- a/tests/lib/cli-engine/load-rules.js +++ b/tests/lib/cli-engine/load-rules.js @@ -5,9 +5,17 @@ "use strict"; +//----------------------------------------------------------------------------- +// Requirements +//----------------------------------------------------------------------------- + const assert = require("chai").assert; const loadRules = require("../../../lib/cli-engine/load-rules"); +//----------------------------------------------------------------------------- +// Tests +//----------------------------------------------------------------------------- + describe("when given an invalid rules directory", () => { it("should throw an error", () => { assert.throws(() => { diff --git a/tests/lib/linter/apply-disable-directives.js b/tests/lib/linter/apply-disable-directives.js index c0aaf8519c0..f88150a38b0 100644 --- a/tests/lib/linter/apply-disable-directives.js +++ b/tests/lib/linter/apply-disable-directives.js @@ -5,9 +5,17 @@ "use strict"; +//------------------------------------------------------------------------------ +// Requirements +//------------------------------------------------------------------------------ + const assert = require("chai").assert; const applyDisableDirectives = require("../../../lib/linter/apply-disable-directives"); +//----------------------------------------------------------------------------- +// Helpers +//----------------------------------------------------------------------------- + /** * Creates a ParentComment for a given range. * @param {[number, number]} range total range of the comment @@ -22,6 +30,10 @@ function createParentComment(range, value, ruleIds = []) { }; } +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + describe("apply-disable-directives", () => { describe("/* eslint-disable */ comments without rules", () => { it("keeps problems before the comment on the same line", () => { diff --git a/tests/lib/linter/interpolate.js b/tests/lib/linter/interpolate.js index a70579042be..04e7140956b 100644 --- a/tests/lib/linter/interpolate.js +++ b/tests/lib/linter/interpolate.js @@ -1,8 +1,16 @@ "use strict"; +//------------------------------------------------------------------------------ +// Requirements +//------------------------------------------------------------------------------ + const assert = require("chai").assert; const interpolate = require("../../../lib/linter/interpolate"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + describe("interpolate()", () => { it("passes through text without {{ }}", () => { const message = "This is a very important message!"; diff --git a/tests/lib/linter/node-event-generator.js b/tests/lib/linter/node-event-generator.js index f9010c32138..8cd1427134f 100644 --- a/tests/lib/linter/node-event-generator.js +++ b/tests/lib/linter/node-event-generator.js @@ -17,8 +17,9 @@ const assert = require("assert"), createEmitter = require("../../../lib/linter/safe-emitter"), NodeEventGenerator = require("../../../lib/linter/node-event-generator"); + //------------------------------------------------------------------------------ -// Tests +// Constants //------------------------------------------------------------------------------ const ESPREE_CONFIG = { @@ -31,6 +32,10 @@ const ESPREE_CONFIG = { const STANDARD_ESQUERY_OPTION = { visitorKeys: vk.KEYS, fallback: Traverser.getKeys }; +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + describe("NodeEventGenerator", () => { EventGeneratorTester.testEventGeneratorInterface( new NodeEventGenerator(createEmitter(), STANDARD_ESQUERY_OPTION) diff --git a/tests/lib/linter/safe-emitter.js b/tests/lib/linter/safe-emitter.js index fdcf63085fa..0808b4c84e8 100644 --- a/tests/lib/linter/safe-emitter.js +++ b/tests/lib/linter/safe-emitter.js @@ -5,9 +5,17 @@ "use strict"; +//------------------------------------------------------------------------------ +// Requirements +//------------------------------------------------------------------------------ + const createEmitter = require("../../../lib/linter/safe-emitter"); const assert = require("chai").assert; +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + describe("safe-emitter", () => { describe("emit() and on()", () => { it("allows listeners to be registered calls them when emitted", () => { diff --git a/tests/lib/linter/timing.js b/tests/lib/linter/timing.js index e1052348a03..c8c08d0cee9 100644 --- a/tests/lib/linter/timing.js +++ b/tests/lib/linter/timing.js @@ -1,8 +1,16 @@ "use strict"; +//------------------------------------------------------------------------------ +// Requirements +//------------------------------------------------------------------------------ + const { getListSize } = require("../../../lib/linter/timing"); const assert = require("chai").assert; +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + describe("timing", () => { describe("getListSize()", () => { after(() => { diff --git a/tests/lib/rules/array-callback-return.js b/tests/lib/rules/array-callback-return.js index 6d6a4d86242..13a01125c99 100644 --- a/tests/lib/rules/array-callback-return.js +++ b/tests/lib/rules/array-callback-return.js @@ -12,6 +12,10 @@ const rule = require("../../../lib/rules/array-callback-return"), { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester(); const allowImplicitOptions = [{ allowImplicit: true }]; diff --git a/tests/lib/rules/arrow-parens.js b/tests/lib/rules/arrow-parens.js index 61d76358440..d2f32a784a3 100644 --- a/tests/lib/rules/arrow-parens.js +++ b/tests/lib/rules/arrow-parens.js @@ -18,6 +18,7 @@ const parser = baseParser.bind(null, "arrow-parens"); //------------------------------------------------------------------------------ // Tests //------------------------------------------------------------------------------ + const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6 } }); const valid = [ diff --git a/tests/lib/rules/complexity.js b/tests/lib/rules/complexity.js index afc0164a51e..2caa8b83005 100644 --- a/tests/lib/rules/complexity.js +++ b/tests/lib/rules/complexity.js @@ -48,6 +48,10 @@ function makeError(name, complexity, max) { }; } +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 2021 } }); ruleTester.run("complexity", rule, { diff --git a/tests/lib/rules/curly.js b/tests/lib/rules/curly.js index c8121fe5d1e..e5fe88273ec 100644 --- a/tests/lib/rules/curly.js +++ b/tests/lib/rules/curly.js @@ -13,7 +13,7 @@ const rule = require("../../../lib/rules/curly"), { RuleTester } = require("../../../lib/rule-tester"); //------------------------------------------------------------------------------ -// Helpers +// Tests //------------------------------------------------------------------------------ const ruleTester = new RuleTester(); diff --git a/tests/lib/rules/default-param-last.js b/tests/lib/rules/default-param-last.js index 05321f5e265..e628db39e8e 100644 --- a/tests/lib/rules/default-param-last.js +++ b/tests/lib/rules/default-param-last.js @@ -4,9 +4,17 @@ */ "use strict"; +//------------------------------------------------------------------------------ +// Requirements +//------------------------------------------------------------------------------ + const rule = require("../../../lib/rules/default-param-last"); const { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const SHOULD_BE_LAST = "shouldBeLast"; const ruleTester = new RuleTester({ diff --git a/tests/lib/rules/dot-notation.js b/tests/lib/rules/dot-notation.js index e3283106bff..c2ced102b9c 100644 --- a/tests/lib/rules/dot-notation.js +++ b/tests/lib/rules/dot-notation.js @@ -28,6 +28,10 @@ function q(str) { return `"${str}"`; } +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + ruleTester.run("dot-notation", rule, { valid: [ "a.b;", diff --git a/tests/lib/rules/for-direction.js b/tests/lib/rules/for-direction.js index a04b10e118d..8ecd843c238 100644 --- a/tests/lib/rules/for-direction.js +++ b/tests/lib/rules/for-direction.js @@ -13,7 +13,7 @@ const rule = require("../../../lib/rules/for-direction"); const { RuleTester } = require("../../../lib/rule-tester"); //------------------------------------------------------------------------------ -// Helpers +// Tests //------------------------------------------------------------------------------ const ruleTester = new RuleTester(); diff --git a/tests/lib/rules/global-require.js b/tests/lib/rules/global-require.js index 4993962bd05..df8337d41ec 100644 --- a/tests/lib/rules/global-require.js +++ b/tests/lib/rules/global-require.js @@ -15,6 +15,7 @@ const rule = require("../../../lib/rules/global-require"), //------------------------------------------------------------------------------ // Tests //------------------------------------------------------------------------------ + const ruleTester = new RuleTester(); const valid = [ diff --git a/tests/lib/rules/indent.js b/tests/lib/rules/indent.js index 616f9101506..03086ce139e 100644 --- a/tests/lib/rules/indent.js +++ b/tests/lib/rules/indent.js @@ -15,7 +15,7 @@ const fs = require("fs"); const path = require("path"); //------------------------------------------------------------------------------ -// Tests +// Helpers //------------------------------------------------------------------------------ const fixture = fs.readFileSync(path.join(__dirname, "../../fixtures/rules/indent/indent-invalid-fixture-1.js"), "utf8"); @@ -56,6 +56,10 @@ function expectedErrors(providedIndentType, providedErrors) { })); } +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 8, ecmaFeatures: { jsx: true } } }); ruleTester.run("indent", rule, { diff --git a/tests/lib/rules/init-declarations.js b/tests/lib/rules/init-declarations.js index 6324418c174..556086abac7 100644 --- a/tests/lib/rules/init-declarations.js +++ b/tests/lib/rules/init-declarations.js @@ -12,6 +12,10 @@ const rule = require("../../../lib/rules/init-declarations"), { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester(); ruleTester.run("init-declarations", rule, { diff --git a/tests/lib/rules/jsx-quotes.js b/tests/lib/rules/jsx-quotes.js index f4c72d9aeb7..cdc1b043286 100644 --- a/tests/lib/rules/jsx-quotes.js +++ b/tests/lib/rules/jsx-quotes.js @@ -12,6 +12,10 @@ const rule = require("../../../lib/rules/jsx-quotes"), { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6, ecmaFeatures: { jsx: true } } }); ruleTester.run("jsx-quotes", rule, { diff --git a/tests/lib/rules/key-spacing.js b/tests/lib/rules/key-spacing.js index 849ce619949..fde9673a63b 100644 --- a/tests/lib/rules/key-spacing.js +++ b/tests/lib/rules/key-spacing.js @@ -12,6 +12,10 @@ const rule = require("../../../lib/rules/key-spacing"), { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester(); ruleTester.run("key-spacing", rule, { diff --git a/tests/lib/rules/lines-between-class-members.js b/tests/lib/rules/lines-between-class-members.js index da83a7a6f12..20f82d4945e 100644 --- a/tests/lib/rules/lines-between-class-members.js +++ b/tests/lib/rules/lines-between-class-members.js @@ -15,6 +15,7 @@ const { RuleTester } = require("../../../lib/rule-tester"); //------------------------------------------------------------------------------ // Helpers //------------------------------------------------------------------------------ + const alwaysError = { messageId: "always" }; const neverError = { messageId: "never" }; diff --git a/tests/lib/rules/max-lines-per-function.js b/tests/lib/rules/max-lines-per-function.js index 008f2b01acb..ba01206f4a3 100644 --- a/tests/lib/rules/max-lines-per-function.js +++ b/tests/lib/rules/max-lines-per-function.js @@ -7,6 +7,7 @@ //------------------------------------------------------------------------------ // Requirements //------------------------------------------------------------------------------ + const rule = require("../../../lib/rules/max-lines-per-function"); const { RuleTester } = require("../../../lib/rule-tester"); diff --git a/tests/lib/rules/max-nested-callbacks.js b/tests/lib/rules/max-nested-callbacks.js index 2ea2defac8c..64341b1421f 100644 --- a/tests/lib/rules/max-nested-callbacks.js +++ b/tests/lib/rules/max-nested-callbacks.js @@ -12,6 +12,10 @@ const rule = require("../../../lib/rules/max-nested-callbacks"), { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Helpers +//------------------------------------------------------------------------------ + const OPENING = "foo(function() {", CLOSING = "});"; diff --git a/tests/lib/rules/multiline-comment-style.js b/tests/lib/rules/multiline-comment-style.js index 6c8d4698e06..1f2302f9a22 100644 --- a/tests/lib/rules/multiline-comment-style.js +++ b/tests/lib/rules/multiline-comment-style.js @@ -11,7 +11,6 @@ const rule = require("../../../lib/rules/multiline-comment-style"); const { RuleTester } = require("../../../lib/rule-tester"); - //------------------------------------------------------------------------------ // Tests //------------------------------------------------------------------------------ diff --git a/tests/lib/rules/new-parens.js b/tests/lib/rules/new-parens.js index 3508ace8e96..2b93711491b 100644 --- a/tests/lib/rules/new-parens.js +++ b/tests/lib/rules/new-parens.js @@ -16,6 +16,7 @@ const parser = require("../../fixtures/fixture-parser"), //------------------------------------------------------------------------------ // Tests //------------------------------------------------------------------------------ + const error = { messageId: "missing", type: "NewExpression" }; const neverError = { messageId: "unnecessary", type: "NewExpression" }; diff --git a/tests/lib/rules/newline-per-chained-call.js b/tests/lib/rules/newline-per-chained-call.js index 2a26937ae62..ce7719b7146 100644 --- a/tests/lib/rules/newline-per-chained-call.js +++ b/tests/lib/rules/newline-per-chained-call.js @@ -12,6 +12,10 @@ const rule = require("../../../lib/rules/newline-per-chained-call"), { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester(); ruleTester.run("newline-per-chained-call", rule, { diff --git a/tests/lib/rules/no-await-in-loop.js b/tests/lib/rules/no-await-in-loop.js index 6ba1e7b1f05..efca8819b07 100644 --- a/tests/lib/rules/no-await-in-loop.js +++ b/tests/lib/rules/no-await-in-loop.js @@ -5,9 +5,17 @@ "use strict"; +//------------------------------------------------------------------------------ +// Requirements +//------------------------------------------------------------------------------ + const rule = require("../../../lib/rules/no-await-in-loop"), { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const error = { messageId: "unexpectedAwait", type: "AwaitExpression" }; const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 2018 } }); diff --git a/tests/lib/rules/no-buffer-constructor.js b/tests/lib/rules/no-buffer-constructor.js index f45b4e4a3de..14568f08aa3 100644 --- a/tests/lib/rules/no-buffer-constructor.js +++ b/tests/lib/rules/no-buffer-constructor.js @@ -11,7 +11,6 @@ const rule = require("../../../lib/rules/no-buffer-constructor"); const { RuleTester } = require("../../../lib/rule-tester"); - //------------------------------------------------------------------------------ // Tests //------------------------------------------------------------------------------ diff --git a/tests/lib/rules/no-compare-neg-zero.js b/tests/lib/rules/no-compare-neg-zero.js index b9c63038715..68478dde908 100644 --- a/tests/lib/rules/no-compare-neg-zero.js +++ b/tests/lib/rules/no-compare-neg-zero.js @@ -9,10 +9,8 @@ //------------------------------------------------------------------------------ const rule = require("../../../lib/rules/no-compare-neg-zero"); - const { RuleTester } = require("../../../lib/rule-tester"); - //------------------------------------------------------------------------------ // Tests //------------------------------------------------------------------------------ diff --git a/tests/lib/rules/no-extra-boolean-cast.js b/tests/lib/rules/no-extra-boolean-cast.js index 8dda6992d21..8aecb4ca37f 100644 --- a/tests/lib/rules/no-extra-boolean-cast.js +++ b/tests/lib/rules/no-extra-boolean-cast.js @@ -13,7 +13,7 @@ const rule = require("../../../lib/rules/no-extra-boolean-cast"), { RuleTester } = require("../../../lib/rule-tester"); //------------------------------------------------------------------------------ -// Helpers +// Tests //------------------------------------------------------------------------------ const ruleTester = new RuleTester(); diff --git a/tests/lib/rules/no-extra-parens.js b/tests/lib/rules/no-extra-parens.js index 5a4dba6482e..cb488c891e5 100644 --- a/tests/lib/rules/no-extra-parens.js +++ b/tests/lib/rules/no-extra-parens.js @@ -12,6 +12,10 @@ const rule = require("../../../lib/rules/no-extra-parens"), { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Helpers +//------------------------------------------------------------------------------ + /** * Create error message object for failure cases * @param {string} code source code @@ -42,6 +46,10 @@ function invalid(code, output, type, line, config) { return result; } +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 2022, diff --git a/tests/lib/rules/no-invalid-regexp.js b/tests/lib/rules/no-invalid-regexp.js index f1f2b404415..a34752dcda5 100644 --- a/tests/lib/rules/no-invalid-regexp.js +++ b/tests/lib/rules/no-invalid-regexp.js @@ -12,6 +12,10 @@ const rule = require("../../../lib/rules/no-invalid-regexp"), { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester(); ruleTester.run("no-invalid-regexp", rule, { diff --git a/tests/lib/rules/no-invalid-this.js b/tests/lib/rules/no-invalid-this.js index fe69e7c12b7..80e4c9c3a2b 100644 --- a/tests/lib/rules/no-invalid-this.js +++ b/tests/lib/rules/no-invalid-this.js @@ -90,7 +90,6 @@ function extractPatterns(patterns, type) { return [].concat(...patternsList); } - //------------------------------------------------------------------------------ // Tests //------------------------------------------------------------------------------ diff --git a/tests/lib/rules/no-lone-blocks.js b/tests/lib/rules/no-lone-blocks.js index 6fa29d2b06f..d9ea851d4c9 100644 --- a/tests/lib/rules/no-lone-blocks.js +++ b/tests/lib/rules/no-lone-blocks.js @@ -13,7 +13,7 @@ const rule = require("../../../lib/rules/no-lone-blocks"), { RuleTester } = require("../../../lib/rule-tester"); //------------------------------------------------------------------------------ -// Helpers +// Tests //------------------------------------------------------------------------------ const ruleTester = new RuleTester(); diff --git a/tests/lib/rules/no-loss-of-precision.js b/tests/lib/rules/no-loss-of-precision.js index c690dd7e1bc..f268f117e92 100644 --- a/tests/lib/rules/no-loss-of-precision.js +++ b/tests/lib/rules/no-loss-of-precision.js @@ -13,7 +13,7 @@ const rule = require("../../../lib/rules/no-loss-of-precision"), { RuleTester } = require("../../../lib/rule-tester"); //------------------------------------------------------------------------------ -// Helpers +// Tests //------------------------------------------------------------------------------ const ruleTester = new RuleTester(); diff --git a/tests/lib/rules/no-magic-numbers.js b/tests/lib/rules/no-magic-numbers.js index bbdf8ca984f..6afc328f040 100644 --- a/tests/lib/rules/no-magic-numbers.js +++ b/tests/lib/rules/no-magic-numbers.js @@ -13,7 +13,7 @@ const rule = require("../../../lib/rules/no-magic-numbers"), { RuleTester } = require("../../../lib/rule-tester"); //------------------------------------------------------------------------------ -// Helpers +// Tests //------------------------------------------------------------------------------ const ruleTester = new RuleTester(); diff --git a/tests/lib/rules/no-misleading-character-class.js b/tests/lib/rules/no-misleading-character-class.js index a7bc04ef415..a02e5e13e32 100644 --- a/tests/lib/rules/no-misleading-character-class.js +++ b/tests/lib/rules/no-misleading-character-class.js @@ -12,7 +12,7 @@ const rule = require("../../../lib/rules/no-misleading-character-class"), { RuleTester } = require("../../../lib/rule-tester"); //------------------------------------------------------------------------------ -// Helpers +// Tests //------------------------------------------------------------------------------ const ruleTester = new RuleTester({ diff --git a/tests/lib/rules/no-multi-assign.js b/tests/lib/rules/no-multi-assign.js index 23f127db90f..7920d9900fb 100644 --- a/tests/lib/rules/no-multi-assign.js +++ b/tests/lib/rules/no-multi-assign.js @@ -13,7 +13,7 @@ const rule = require("../../../lib/rules/no-multi-assign"), { RuleTester } = require("../../../lib/rule-tester"); //------------------------------------------------------------------------------ -// Fixtures +// Helpers //------------------------------------------------------------------------------ /** @@ -33,7 +33,6 @@ function errorAt(line, column, type) { }; } - //------------------------------------------------------------------------------ // Tests //------------------------------------------------------------------------------ diff --git a/tests/lib/rules/no-multiple-empty-lines.js b/tests/lib/rules/no-multiple-empty-lines.js index 5291fbbf0a8..bcec4e44c4c 100644 --- a/tests/lib/rules/no-multiple-empty-lines.js +++ b/tests/lib/rules/no-multiple-empty-lines.js @@ -12,11 +12,9 @@ const rule = require("../../../lib/rules/no-multiple-empty-lines"), { RuleTester } = require("../../../lib/rule-tester"); //------------------------------------------------------------------------------ -// Tests +// Helpers //------------------------------------------------------------------------------ -const ruleTester = new RuleTester(); - /** * Creates the expected error message object for the specified number of lines * @param {lines} lines The number of lines expected. @@ -69,6 +67,11 @@ function getExpectedErrorBOF(lines) { }; } +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + +const ruleTester = new RuleTester(); ruleTester.run("no-multiple-empty-lines", rule, { diff --git a/tests/lib/rules/no-prototype-builtins.js b/tests/lib/rules/no-prototype-builtins.js index 36287684e55..6152e8acf6e 100644 --- a/tests/lib/rules/no-prototype-builtins.js +++ b/tests/lib/rules/no-prototype-builtins.js @@ -15,6 +15,7 @@ const rule = require("../../../lib/rules/no-prototype-builtins"), //------------------------------------------------------------------------------ // Tests //------------------------------------------------------------------------------ + const ruleTester = new RuleTester(); ruleTester.run("no-prototype-builtins", rule, { diff --git a/tests/lib/rules/no-regex-spaces.js b/tests/lib/rules/no-regex-spaces.js index fdcd1cec27a..89952297549 100644 --- a/tests/lib/rules/no-regex-spaces.js +++ b/tests/lib/rules/no-regex-spaces.js @@ -12,6 +12,10 @@ const rule = require("../../../lib/rules/no-regex-spaces"), { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester(); ruleTester.run("no-regex-spaces", rule, { diff --git a/tests/lib/rules/no-shadow-restricted-names.js b/tests/lib/rules/no-shadow-restricted-names.js index da2df0fb9d8..868cd8220b6 100644 --- a/tests/lib/rules/no-shadow-restricted-names.js +++ b/tests/lib/rules/no-shadow-restricted-names.js @@ -12,6 +12,10 @@ const rule = require("../../../lib/rules/no-shadow-restricted-names"), { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester(); ruleTester.run("no-shadow-restricted-names", rule, { diff --git a/tests/lib/rules/no-unexpected-multiline.js b/tests/lib/rules/no-unexpected-multiline.js index 786931b338a..87044efe2a4 100644 --- a/tests/lib/rules/no-unexpected-multiline.js +++ b/tests/lib/rules/no-unexpected-multiline.js @@ -12,6 +12,10 @@ const rule = require("../../../lib/rules/no-unexpected-multiline"), { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester(); ruleTester.run("no-unexpected-multiline", rule, { diff --git a/tests/lib/rules/no-unmodified-loop-condition.js b/tests/lib/rules/no-unmodified-loop-condition.js index 70c04d039d0..90cc45d5f33 100644 --- a/tests/lib/rules/no-unmodified-loop-condition.js +++ b/tests/lib/rules/no-unmodified-loop-condition.js @@ -12,6 +12,10 @@ const rule = require("../../../lib/rules/no-unmodified-loop-condition"), { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester(); ruleTester.run("no-unmodified-loop-condition", rule, { diff --git a/tests/lib/rules/no-unsafe-optional-chaining.js b/tests/lib/rules/no-unsafe-optional-chaining.js index 38a4f246230..95b87a9972a 100644 --- a/tests/lib/rules/no-unsafe-optional-chaining.js +++ b/tests/lib/rules/no-unsafe-optional-chaining.js @@ -6,9 +6,12 @@ "use strict"; const rule = require("../../../lib/rules/no-unsafe-optional-chaining"); - const { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const parserOptions = { ecmaVersion: 2021, sourceType: "module" diff --git a/tests/lib/rules/no-useless-concat.js b/tests/lib/rules/no-useless-concat.js index c15b88f1817..f19a1965673 100644 --- a/tests/lib/rules/no-useless-concat.js +++ b/tests/lib/rules/no-useless-concat.js @@ -9,7 +9,6 @@ //------------------------------------------------------------------------------ const rule = require("../../../lib/rules/no-useless-concat"), - { RuleTester } = require("../../../lib/rule-tester"); diff --git a/tests/lib/rules/no-useless-escape.js b/tests/lib/rules/no-useless-escape.js index ac3294b8c7f..09f146ef8c6 100644 --- a/tests/lib/rules/no-useless-escape.js +++ b/tests/lib/rules/no-useless-escape.js @@ -12,6 +12,10 @@ const rule = require("../../../lib/rules/no-useless-escape"), { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester(); ruleTester.run("no-useless-escape", rule, { diff --git a/tests/lib/rules/no-useless-rename.js b/tests/lib/rules/no-useless-rename.js index f09a9d448ca..66077f2b497 100644 --- a/tests/lib/rules/no-useless-rename.js +++ b/tests/lib/rules/no-useless-rename.js @@ -12,6 +12,10 @@ const rule = require("../../../lib/rules/no-useless-rename"), { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6, sourceType: "module" } }); ruleTester.run("no-useless-rename", rule, { diff --git a/tests/lib/rules/one-var.js b/tests/lib/rules/one-var.js index 3388c9d6489..b7ed534380a 100644 --- a/tests/lib/rules/one-var.js +++ b/tests/lib/rules/one-var.js @@ -14,6 +14,10 @@ const rule = require("../../../lib/rules/one-var"), const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6 } }); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + ruleTester.run("one-var", rule, { valid: [ "function foo() { var bar = true; }", diff --git a/tests/lib/rules/prefer-object-spread.js b/tests/lib/rules/prefer-object-spread.js index d80275c0df6..92bbef4188b 100644 --- a/tests/lib/rules/prefer-object-spread.js +++ b/tests/lib/rules/prefer-object-spread.js @@ -6,10 +6,17 @@ "use strict"; -const rule = require("../../../lib/rules/prefer-object-spread"); +//------------------------------------------------------------------------------ +// Requirements +//------------------------------------------------------------------------------ +const rule = require("../../../lib/rules/prefer-object-spread"); const { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const parserOptions = { ecmaVersion: 2018, sourceType: "module" diff --git a/tests/lib/rules/prefer-promise-reject-errors.js b/tests/lib/rules/prefer-promise-reject-errors.js index 508fc8cc963..40428d6fa24 100644 --- a/tests/lib/rules/prefer-promise-reject-errors.js +++ b/tests/lib/rules/prefer-promise-reject-errors.js @@ -11,7 +11,6 @@ const rule = require("../../../lib/rules/prefer-promise-reject-errors"); const { RuleTester } = require("../../../lib/rule-tester"); - //------------------------------------------------------------------------------ // Tests //------------------------------------------------------------------------------ diff --git a/tests/lib/rules/prefer-rest-params.js b/tests/lib/rules/prefer-rest-params.js index 3ab3fc531c9..c7040ea401d 100644 --- a/tests/lib/rules/prefer-rest-params.js +++ b/tests/lib/rules/prefer-rest-params.js @@ -12,6 +12,10 @@ const rule = require("../../../lib/rules/prefer-rest-params"), { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6 } }); ruleTester.run("prefer-rest-params", rule, { diff --git a/tests/lib/rules/quote-props.js b/tests/lib/rules/quote-props.js index 5186f87d140..10f35155f03 100644 --- a/tests/lib/rules/quote-props.js +++ b/tests/lib/rules/quote-props.js @@ -12,6 +12,10 @@ const rule = require("../../../lib/rules/quote-props"), { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester(); ruleTester.run("quote-props", rule, { diff --git a/tests/lib/rules/quotes.js b/tests/lib/rules/quotes.js index 04216d209e6..faf3713019b 100644 --- a/tests/lib/rules/quotes.js +++ b/tests/lib/rules/quotes.js @@ -12,6 +12,10 @@ const rule = require("../../../lib/rules/quotes"), { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester(); ruleTester.run("quotes", rule, { diff --git a/tests/lib/rules/radix.js b/tests/lib/rules/radix.js index ff933f34f84..437d2465350 100644 --- a/tests/lib/rules/radix.js +++ b/tests/lib/rules/radix.js @@ -12,6 +12,10 @@ const rule = require("../../../lib/rules/radix"), { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester(); ruleTester.run("radix", rule, { diff --git a/tests/lib/rules/require-atomic-updates.js b/tests/lib/rules/require-atomic-updates.js index be6e8f2992a..f3d8e1d76a6 100644 --- a/tests/lib/rules/require-atomic-updates.js +++ b/tests/lib/rules/require-atomic-updates.js @@ -11,7 +11,6 @@ const rule = require("../../../lib/rules/require-atomic-updates"); const { RuleTester } = require("../../../lib/rule-tester"); - //------------------------------------------------------------------------------ // Tests //------------------------------------------------------------------------------ diff --git a/tests/lib/rules/require-jsdoc.js b/tests/lib/rules/require-jsdoc.js index 603ece2357b..f2f19da43ea 100644 --- a/tests/lib/rules/require-jsdoc.js +++ b/tests/lib/rules/require-jsdoc.js @@ -4,6 +4,10 @@ */ "use strict"; +//------------------------------------------------------------------------------ +// Requirements +//------------------------------------------------------------------------------ + const rule = require("../../../lib/rules/require-jsdoc"), { RuleTester } = require("../../../lib/rule-tester"); diff --git a/tests/lib/rules/rest-spread-spacing.js b/tests/lib/rules/rest-spread-spacing.js index bcef06424af..73b4f3dd436 100644 --- a/tests/lib/rules/rest-spread-spacing.js +++ b/tests/lib/rules/rest-spread-spacing.js @@ -12,6 +12,11 @@ const rule = require("../../../lib/rules/rest-spread-spacing"), { RuleTester } = require("../../../lib/rule-tester"); + +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6 } }); ruleTester.run("rest-spread-spacing", rule, { diff --git a/tests/lib/rules/semi.js b/tests/lib/rules/semi.js index 092dae15336..6c76ad203fa 100644 --- a/tests/lib/rules/semi.js +++ b/tests/lib/rules/semi.js @@ -12,6 +12,10 @@ const rule = require("../../../lib/rules/semi"), { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester(); ruleTester.run("semi", rule, { diff --git a/tests/lib/rules/space-infix-ops.js b/tests/lib/rules/space-infix-ops.js index f6c2130da8f..c2a5c554649 100644 --- a/tests/lib/rules/space-infix-ops.js +++ b/tests/lib/rules/space-infix-ops.js @@ -13,6 +13,10 @@ const rule = require("../../../lib/rules/space-infix-ops"), { RuleTester } = require("../../../lib/rule-tester"), parser = require("../../fixtures/fixture-parser"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester(); ruleTester.run("space-infix-ops", rule, { diff --git a/tests/lib/rules/spaced-comment.js b/tests/lib/rules/spaced-comment.js index 5d3d68fc06b..7ca6384364a 100644 --- a/tests/lib/rules/spaced-comment.js +++ b/tests/lib/rules/spaced-comment.js @@ -4,9 +4,17 @@ */ "use strict"; +//------------------------------------------------------------------------------ +// Requirements +//------------------------------------------------------------------------------ + const rule = require("../../../lib/rules/spaced-comment"), { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester(), validShebangProgram = "#!/path/to/node\nvar a = 3;"; diff --git a/tests/lib/rules/strict.js b/tests/lib/rules/strict.js index fc74bc994fa..def56ace4d0 100644 --- a/tests/lib/rules/strict.js +++ b/tests/lib/rules/strict.js @@ -12,6 +12,10 @@ const rule = require("../../../lib/rules/strict"), { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester(); ruleTester.run("strict", rule, { diff --git a/tests/lib/rules/symbol-description.js b/tests/lib/rules/symbol-description.js index 36391fc7808..55cbbbc89c8 100644 --- a/tests/lib/rules/symbol-description.js +++ b/tests/lib/rules/symbol-description.js @@ -12,6 +12,10 @@ const rule = require("../../../lib/rules/symbol-description"); const { RuleTester } = require("../../../lib/rule-tester"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester({ env: { es6: true } }); ruleTester.run("symbol-description", rule, { diff --git a/tests/lib/rules/wrap-regex.js b/tests/lib/rules/wrap-regex.js index 0ac92f2d848..6aea21118ad 100644 --- a/tests/lib/rules/wrap-regex.js +++ b/tests/lib/rules/wrap-regex.js @@ -16,7 +16,6 @@ const rule = require("../../../lib/rules/wrap-regex"), // Tests //------------------------------------------------------------------------------ - const ruleTester = new RuleTester(); ruleTester.run("wrap-regex", rule, { diff --git a/tests/lib/shared/config-validator.js b/tests/lib/shared/config-validator.js index 9ba99aea6ba..61d616b3ae0 100644 --- a/tests/lib/shared/config-validator.js +++ b/tests/lib/shared/config-validator.js @@ -25,12 +25,13 @@ const assert = require("chai").assert, { Linter } = require("../../../lib/linter"), validator = require("../../../lib/shared/config-validator"), Rules = require("../../../lib/linter/rules"); -const linter = new Linter(); //------------------------------------------------------------------------------ -// Tests +// Helpers //------------------------------------------------------------------------------ +const linter = new Linter(); + /** * Fake a rule object * @param {Object} context context passed to the rules by eslint @@ -101,6 +102,10 @@ const mockRequiredOptionsRule = { } }; +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + describe("Validator", () => { /** diff --git a/tests/lib/shared/traverser.js b/tests/lib/shared/traverser.js index 5fbfb861c27..8e6ef28e18a 100644 --- a/tests/lib/shared/traverser.js +++ b/tests/lib/shared/traverser.js @@ -1,8 +1,16 @@ "use strict"; +//------------------------------------------------------------------------------ +// Requirements +//------------------------------------------------------------------------------ + const assert = require("chai").assert; const Traverser = require("../../../lib/shared/traverser"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + describe("Traverser", () => { it("traverses all keys except 'parent', 'leadingComments', and 'trailingComments'", () => { const traverser = new Traverser(); diff --git a/tests/tools/code-sample-minimizer.js b/tests/tools/code-sample-minimizer.js index 9a56c8c61b5..84cbea784d9 100644 --- a/tests/tools/code-sample-minimizer.js +++ b/tests/tools/code-sample-minimizer.js @@ -1,8 +1,16 @@ "use strict"; +//------------------------------------------------------------------------------ +// Requirements +//------------------------------------------------------------------------------ + const { assert } = require("chai"); const reduceBadExampleSize = require("../../tools/code-sample-minimizer"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + describe("reduceBadExampleSize()", () => { it("extracts relevant part of deeply nested code", () => { const initialCode = ` diff --git a/tests/tools/eslint-fuzzer.js b/tests/tools/eslint-fuzzer.js index c4bf8c2c47b..4723befa4e2 100644 --- a/tests/tools/eslint-fuzzer.js +++ b/tests/tools/eslint-fuzzer.js @@ -1,11 +1,19 @@ "use strict"; +//------------------------------------------------------------------------------ +// Requirements +//------------------------------------------------------------------------------ + const assert = require("chai").assert; const eslint = require("../.."); const espree = require("espree"); const sinon = require("sinon"); const configRule = require("../../lib/init/config-rule"); +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + describe("eslint-fuzzer", function() { let fakeRule, fuzz; diff --git a/tests/tools/internal-rules/multiline-comment-style.js b/tests/tools/internal-rules/multiline-comment-style.js index d6dcff71728..e4b104c1fe9 100644 --- a/tests/tools/internal-rules/multiline-comment-style.js +++ b/tests/tools/internal-rules/multiline-comment-style.js @@ -1,7 +1,16 @@ "use strict"; +//------------------------------------------------------------------------------ +// Requirements +//------------------------------------------------------------------------------ + const rule = require("../../../tools/internal-rules/multiline-comment-style"); const { RuleTester } = require("../../../lib/rule-tester"); + +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + const ruleTester = new RuleTester(); ruleTester.run("internal-rules/multiline-comment-style", rule, {