From 6a86e5018a3733049c09261bcabae422fbea893d Mon Sep 17 00:00:00 2001 From: Milos Djermanovic Date: Sat, 8 May 2021 02:37:10 +0200 Subject: [PATCH] Chore: remove loose-parser tests (fixes #14315) (#14569) --- package.json | 1 - tests/lib/rules/no-redeclare.js | 108 -------------------------------- tests/tools/loose-parser.js | 30 --------- 3 files changed, 139 deletions(-) delete mode 100644 tests/tools/loose-parser.js diff --git a/package.json b/package.json index 4f87ef6403b..72070e2a0f5 100644 --- a/package.json +++ b/package.json @@ -84,7 +84,6 @@ "devDependencies": { "@babel/core": "^7.4.3", "@babel/preset-env": "^7.4.3", - "acorn": "^7.2.0", "babel-loader": "^8.0.5", "chai": "^4.0.1", "cheerio": "^0.22.0", diff --git a/tests/lib/rules/no-redeclare.js b/tests/lib/rules/no-redeclare.js index f6293b7e152..f89d6853fa3 100644 --- a/tests/lib/rules/no-redeclare.js +++ b/tests/lib/rules/no-redeclare.js @@ -9,7 +9,6 @@ // Requirements //------------------------------------------------------------------------------ -const path = require("path"); const rule = require("../../../lib/rules/no-redeclare"); const { RuleTester } = require("../../../lib/rule-tester"); @@ -17,7 +16,6 @@ const { RuleTester } = require("../../../lib/rule-tester"); // Tests //------------------------------------------------------------------------------ -const looseParserPath = path.resolve(__dirname, "../../tools/loose-parser.js"); const ruleTester = new RuleTester(); ruleTester.run("no-redeclare", rule, { @@ -205,112 +203,6 @@ ruleTester.run("no-redeclare", rule, { ] }, - // let/const - { - code: "let a; let a;", - parser: looseParserPath, - parserOptions: { ecmaVersion: 2015 }, - errors: [ - { message: "'a' is already defined.", type: "Identifier" } - ] - }, - { - code: "let a; let a;", - parser: looseParserPath, - parserOptions: { ecmaVersion: 2015, sourceType: "module" }, - errors: [ - { message: "'a' is already defined.", type: "Identifier" } - ] - }, - { - code: "let a; let a;", - parser: looseParserPath, - parserOptions: { ecmaVersion: 2015, ecmaFeatures: { globalReturn: true } }, - errors: [ - { message: "'a' is already defined.", type: "Identifier" } - ] - }, - { - code: "let a; const a = 0;", - parser: looseParserPath, - parserOptions: { ecmaVersion: 2015 }, - errors: [ - { message: "'a' is already defined.", type: "Identifier" } - ] - }, - { - code: "const a = 0; const a = 0;", - parser: looseParserPath, - parserOptions: { ecmaVersion: 2015 }, - errors: [ - { message: "'a' is already defined.", type: "Identifier" } - ] - }, - { - code: "if (test) { let a; let a; }", - parser: looseParserPath, - parserOptions: { ecmaVersion: 2015 }, - errors: [ - { message: "'a' is already defined.", type: "Identifier" } - ] - }, - { - code: "switch (test) { case 0: let a; let a; }", - parser: looseParserPath, - parserOptions: { ecmaVersion: 2015 }, - errors: [ - { message: "'a' is already defined.", type: "Identifier" } - ] - }, - { - code: "for (let a, a;;);", - parser: looseParserPath, - parserOptions: { ecmaVersion: 2015 }, - errors: [ - { message: "'a' is already defined.", type: "Identifier" } - ] - }, - { - code: "for (let [a, a] in xs);", - parser: looseParserPath, - parserOptions: { ecmaVersion: 2015 }, - errors: [ - { message: "'a' is already defined.", type: "Identifier" } - ] - }, - { - code: "for (let [a, a] of xs);", - parser: looseParserPath, - parserOptions: { ecmaVersion: 2015 }, - errors: [ - { message: "'a' is already defined.", type: "Identifier" } - ] - }, - { - code: "function f() { let a; let a; }", - parser: looseParserPath, - parserOptions: { ecmaVersion: 2015 }, - errors: [ - { message: "'a' is already defined.", type: "Identifier" } - ] - }, - { - code: "function f(a) { let a; }", - parser: looseParserPath, - parserOptions: { ecmaVersion: 2015 }, - errors: [ - { message: "'a' is already defined.", type: "Identifier" } - ] - }, - { - code: "function f() { if (test) { let a; let a; } }", - parser: looseParserPath, - parserOptions: { ecmaVersion: 2015 }, - errors: [ - { message: "'a' is already defined.", type: "Identifier" } - ] - }, - // Comments and built-ins. { code: "/*globals Array */", diff --git a/tests/tools/loose-parser.js b/tests/tools/loose-parser.js deleted file mode 100644 index 98e97cc3687..00000000000 --- a/tests/tools/loose-parser.js +++ /dev/null @@ -1,30 +0,0 @@ -/** - * @fileoverview Define a custom parser to ignore recoverable syntax errors. - * @author Toru Nagashima - * - * no-redeclare rule uses this parser to check redeclarations. - */ -"use strict"; - -const acorn = require("acorn"); -const espree = require("espree/lib/espree"); - -/** - * Define the parser which ignores recoverable errors. - * @returns {(parser:acorn.Parser) => acorn.Parser} The function that defines loose parser. - */ -function loose() { - return Parser => class LooseParser extends Parser { - raiseRecoverable() { // eslint-disable-line class-methods-use-this - // ignore - } - }; -} - -const LooseEspree = acorn.Parser.extend(espree(), loose()); - -module.exports = { - parse(code, options) { - return new LooseEspree(options, code).parse(); - } -};