Skip to content

Commit b74013d

Browse files
committed
[Tests] export resolved parsers for cleaner comparison
1 parent 7cead46 commit b74013d

25 files changed

+184
-183
lines changed

tests/src/core/getExports.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,6 @@ describe('ExportMap', function () {
343343
});
344344

345345
context('alternate parsers', function () {
346-
347346
const configs = [
348347
// ['string form', { 'typescript-eslint-parser': '.ts' }],
349348
];

tests/src/rules/default.js

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import path from 'path';
2-
import { test, testVersion, SYNTAX_CASES, getTSParsers } from '../utils';
2+
import { test, testVersion, SYNTAX_CASES, getTSParsers, parsers } from '../utils';
33
import { RuleTester } from 'eslint';
44

55
import { CASE_SENSITIVE_FS } from 'eslint-module-utils/resolve';
@@ -29,19 +29,19 @@ ruleTester.run('default', rule, {
2929

3030
// es7 export syntax
3131
test({ code: 'export bar from "./bar"',
32-
parser: require.resolve('babel-eslint') }),
32+
parser: parsers.BABEL_OLD }),
3333
test({ code: 'export { default as bar } from "./bar"' }),
3434
test({ code: 'export bar, { foo } from "./bar"',
35-
parser: require.resolve('babel-eslint') }),
35+
parser: parsers.BABEL_OLD }),
3636
test({ code: 'export { default as bar, foo } from "./bar"' }),
3737
test({ code: 'export bar, * as names from "./bar"',
38-
parser: require.resolve('babel-eslint') }),
38+
parser: parsers.BABEL_OLD }),
3939

4040
// sanity check
4141
test({ code: 'export {a} from "./named-exports"' }),
4242
test({
4343
code: 'import twofer from "./trampoline"',
44-
parser: require.resolve('babel-eslint'),
44+
parser: parsers.BABEL_OLD,
4545
}),
4646

4747
// jsx
@@ -69,27 +69,27 @@ ruleTester.run('default', rule, {
6969
// from no-errors
7070
test({
7171
code: "import Foo from './jsx/FooES7.js';",
72-
parser: require.resolve('babel-eslint'),
72+
parser: parsers.BABEL_OLD,
7373
}),
7474

7575
// #545: more ES7 cases
7676
test({
7777
code: "import bar from './default-export-from.js';",
78-
parser: require.resolve('babel-eslint'),
78+
parser: parsers.BABEL_OLD,
7979
}),
8080
test({
8181
code: "import bar from './default-export-from-named.js';",
82-
parser: require.resolve('babel-eslint'),
82+
parser: parsers.BABEL_OLD,
8383
}),
8484
test({
8585
code: "import bar from './default-export-from-ignored.js';",
8686
settings: { 'import/ignore': ['common'] },
87-
parser: require.resolve('babel-eslint'),
87+
parser: parsers.BABEL_OLD,
8888
}),
8989
test({
9090
code: "export bar from './default-export-from-ignored.js';",
9191
settings: { 'import/ignore': ['common'] },
92-
parser: require.resolve('babel-eslint'),
92+
parser: parsers.BABEL_OLD,
9393
}),
9494

9595
// es2022: Arbitrary module namespace identifier names
@@ -117,23 +117,23 @@ ruleTester.run('default', rule, {
117117
// es7 export syntax
118118
test({
119119
code: 'export baz from "./named-exports"',
120-
parser: require.resolve('babel-eslint'),
120+
parser: parsers.BABEL_OLD,
121121
errors: ['No default export found in imported module "./named-exports".'],
122122
}),
123123
test({
124124
code: 'export baz, { bar } from "./named-exports"',
125-
parser: require.resolve('babel-eslint'),
125+
parser: parsers.BABEL_OLD,
126126
errors: ['No default export found in imported module "./named-exports".'],
127127
}),
128128
test({
129129
code: 'export baz, * as names from "./named-exports"',
130-
parser: require.resolve('babel-eslint'),
130+
parser: parsers.BABEL_OLD,
131131
errors: ['No default export found in imported module "./named-exports".'],
132132
}),
133133
// exports default from a module with no default
134134
test({
135135
code: 'import twofer from "./broken-trampoline"',
136-
parser: require.resolve('babel-eslint'),
136+
parser: parsers.BABEL_OLD,
137137
errors: ['No default export found in imported module "./broken-trampoline".'],
138138
}),
139139

tests/src/rules/dynamic-import-chunkname.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { SYNTAX_CASES, getTSParsers } from '../utils';
1+
import { SYNTAX_CASES, getTSParsers, parsers } from '../utils';
22
import { RuleTester } from 'eslint';
33
import semver from 'semver';
44

@@ -15,7 +15,7 @@ const pickyCommentOptions = [{
1515
const multipleImportFunctionOptions = [{
1616
importFunctions: ['dynamicImport', 'definitelyNotStaticImport'],
1717
}];
18-
const parser = require.resolve('babel-eslint');
18+
const parser = parsers.BABEL_OLD;
1919

2020
const noLeadingCommentError = 'dynamic imports require a leading comment with the webpack chunkname';
2121
const nonBlockCommentError = 'dynamic imports require a /* foo */ style comment, not a // foo comment';
@@ -495,7 +495,7 @@ ruleTester.run('dynamic-import-chunkname', rule, {
495495

496496
context('TypeScript', () => {
497497
getTSParsers().forEach((typescriptParser) => {
498-
const nodeType = typescriptParser.includes('typescript-eslint-parser') || (typescriptParser.includes('@typescript-eslint/parser') && semver.satisfies(require('@typescript-eslint/parser/package.json').version, '^2'))
498+
const nodeType = typescriptParser === parsers.TS_OLD || (typescriptParser === parsers.TS_NEW && semver.satisfies(require('@typescript-eslint/parser/package.json').version, '^2'))
499499
? 'CallExpression'
500500
: 'ImportExpression';
501501

tests/src/rules/extensions.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { RuleTester } from 'eslint';
22
import rule from 'rules/extensions';
3-
import { getTSParsers, test, testFilePath } from '../utils';
3+
import { getTSParsers, test, testFilePath, parsers } from '../utils';
44

55
const ruleTester = new RuleTester();
66

@@ -601,7 +601,7 @@ ruleTester.run('extensions', rule, {
601601
describe('TypeScript', () => {
602602
getTSParsers()
603603
// Type-only imports were added in TypeScript ESTree 2.23.0
604-
.filter((parser) => parser !== require.resolve('typescript-eslint-parser'))
604+
.filter((parser) => parser !== parsers.TS_OLD)
605605
.forEach((parser) => {
606606
ruleTester.run(`${parser}: extensions ignore type-only`, rule, {
607607
valid: [

tests/src/rules/max-dependencies.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { test, getTSParsers } from '../utils';
1+
import { test, getTSParsers, parsers } from '../utils';
22

33
import { RuleTester } from 'eslint';
44

@@ -66,7 +66,7 @@ ruleTester.run('max-dependencies', rule, {
6666

6767
test({
6868
code: 'import type { x } from \'./foo\'; import type { y } from \'./bar\'',
69-
parser: require.resolve('babel-eslint'),
69+
parser: parsers.BABEL_OLD,
7070
options: [{
7171
max: 1,
7272
}],
@@ -77,7 +77,7 @@ ruleTester.run('max-dependencies', rule, {
7777

7878
test({
7979
code: 'import type { x } from \'./foo\'; import type { y } from \'./bar\'; import type { z } from \'./baz\'',
80-
parser: require.resolve('babel-eslint'),
80+
parser: parsers.BABEL_OLD,
8181
options: [{
8282
max: 2,
8383
ignoreTypeImports: false,
@@ -92,7 +92,7 @@ ruleTester.run('max-dependencies', rule, {
9292
describe('TypeScript', () => {
9393
getTSParsers()
9494
// Type-only imports were added in TypeScript ESTree 2.23.0
95-
.filter((parser) => parser !== require.resolve('typescript-eslint-parser'))
95+
.filter((parser) => parser !== parsers.TS_OLD)
9696
.forEach((parser) => {
9797
ruleTester.run(`max-dependencies (${parser.replace(process.cwd(), '.')})`, rule, {
9898
valid: [

tests/src/rules/named.js

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { test, SYNTAX_CASES, getTSParsers, testFilePath, testVersion } from '../utils';
1+
import { test, SYNTAX_CASES, getTSParsers, testFilePath, testVersion, parsers } from '../utils';
22
import { RuleTester } from 'eslint';
33

44
import { CASE_SENSITIVE_FS } from 'eslint-module-utils/resolve';
@@ -54,11 +54,11 @@ ruleTester.run('named', rule, {
5454
// es7
5555
test({
5656
code: 'export bar, { foo } from "./bar"',
57-
parser: require.resolve('babel-eslint'),
57+
parser: parsers.BABEL_OLD,
5858
}),
5959
test({
6060
code: 'import { foo, bar } from "./named-trampoline"',
61-
parser: require.resolve('babel-eslint'),
61+
parser: parsers.BABEL_OLD,
6262
}),
6363

6464
// regression tests
@@ -73,43 +73,43 @@ ruleTester.run('named', rule, {
7373
// should ignore imported/exported flow types, even if they don’t exist
7474
test({
7575
code: 'import type { MissingType } from "./flowtypes"',
76-
parser: require.resolve('babel-eslint'),
76+
parser: parsers.BABEL_OLD,
7777
}),
7878
test({
7979
code: 'import typeof { MissingType } from "./flowtypes"',
80-
parser: require.resolve('babel-eslint'),
80+
parser: parsers.BABEL_OLD,
8181
}),
8282
test({
8383
code: 'import type { MyOpaqueType } from "./flowtypes"',
84-
parser: require.resolve('babel-eslint'),
84+
parser: parsers.BABEL_OLD,
8585
}),
8686
test({
8787
code: 'import typeof { MyOpaqueType } from "./flowtypes"',
88-
parser: require.resolve('babel-eslint'),
88+
parser: parsers.BABEL_OLD,
8989
}),
9090
test({
9191
code: 'import { type MyOpaqueType, MyClass } from "./flowtypes"',
92-
parser: require.resolve('babel-eslint'),
92+
parser: parsers.BABEL_OLD,
9393
}),
9494
test({
9595
code: 'import { typeof MyOpaqueType, MyClass } from "./flowtypes"',
96-
parser: require.resolve('babel-eslint'),
96+
parser: parsers.BABEL_OLD,
9797
}),
9898
test({
9999
code: 'import typeof MissingType from "./flowtypes"',
100-
parser: require.resolve('babel-eslint'),
100+
parser: parsers.BABEL_OLD,
101101
}),
102102
test({
103103
code: 'import typeof * as MissingType from "./flowtypes"',
104-
parser: require.resolve('babel-eslint'),
104+
parser: parsers.BABEL_OLD,
105105
}),
106106
test({
107107
code: 'export type { MissingType } from "./flowtypes"',
108-
parser: require.resolve('babel-eslint'),
108+
parser: parsers.BABEL_OLD,
109109
}),
110110
test({
111111
code: 'export type { MyOpaqueType } from "./flowtypes"',
112-
parser: require.resolve('babel-eslint'),
112+
parser: parsers.BABEL_OLD,
113113
}),
114114

115115
// jsnext
@@ -244,17 +244,17 @@ ruleTester.run('named', rule, {
244244
// es7
245245
test({
246246
code: 'export bar2, { bar } from "./bar"',
247-
parser: require.resolve('babel-eslint'),
247+
parser: parsers.BABEL_OLD,
248248
errors: ["bar not found in './bar'"],
249249
}),
250250
test({
251251
code: 'import { foo, bar, baz } from "./named-trampoline"',
252-
parser: require.resolve('babel-eslint'),
252+
parser: parsers.BABEL_OLD,
253253
errors: ["baz not found in './named-trampoline'"],
254254
}),
255255
test({
256256
code: 'import { baz } from "./broken-trampoline"',
257-
parser: require.resolve('babel-eslint'),
257+
parser: parsers.BABEL_OLD,
258258
errors: ['baz not found via broken-trampoline.js -> named-exports.js'],
259259
}),
260260

@@ -294,7 +294,7 @@ ruleTester.run('named', rule, {
294294

295295
test({
296296
code: 'import { type MyOpaqueType, MyMissingClass } from "./flowtypes"',
297-
parser: require.resolve('babel-eslint'),
297+
parser: parsers.BABEL_OLD,
298298
errors: ["MyMissingClass not found in './flowtypes'"],
299299
}),
300300

tests/src/rules/namespace.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { test, SYNTAX_CASES, getTSParsers, testVersion, testFilePath } from '../utils';
1+
import { test, SYNTAX_CASES, getTSParsers, testVersion, testFilePath, parsers } from '../utils';
22
import { RuleTester } from 'eslint';
33
import flatMap from 'array.prototype.flatmap';
44

@@ -57,16 +57,16 @@ const valid = [
5757
// es7 //
5858
/////////
5959
test({ code: 'export * as names from "./named-exports"',
60-
parser: require.resolve('babel-eslint') }),
60+
parser: parsers.BABEL_OLD }),
6161
test({ code: 'export defport, * as names from "./named-exports"',
62-
parser: require.resolve('babel-eslint') }),
62+
parser: parsers.BABEL_OLD }),
6363
// non-existent is handled by no-unresolved
6464
test({ code: 'export * as names from "./does-not-exist"',
65-
parser: require.resolve('babel-eslint') }),
65+
parser: parsers.BABEL_OLD }),
6666

6767
test({
6868
code: 'import * as Endpoints from "./issue-195/Endpoints"; console.log(Endpoints.Users)',
69-
parser: require.resolve('babel-eslint'),
69+
parser: parsers.BABEL_OLD,
7070
}),
7171

7272
// respect hoisting
@@ -81,11 +81,11 @@ const valid = [
8181
test({ code: "import * as names from './default-export'; console.log(names.default)" }),
8282
test({
8383
code: 'export * as names from "./default-export"',
84-
parser: require.resolve('babel-eslint'),
84+
parser: parsers.BABEL_OLD,
8585
}),
8686
test({
8787
code: 'export defport, * as names from "./default-export"',
88-
parser: require.resolve('babel-eslint'),
88+
parser: parsers.BABEL_OLD,
8989
}),
9090

9191
// #456: optionally ignore computed references
@@ -103,7 +103,7 @@ const valid = [
103103
}),
104104
test({
105105
code: `import * as names from './named-exports'; const {a, b, ...rest} = names;`,
106-
parser: require.resolve('babel-eslint'),
106+
parser: parsers.BABEL_OLD,
107107
}),
108108

109109
// #1144: should handle re-export CommonJS as namespace
@@ -251,7 +251,7 @@ const invalid = [].concat(
251251

252252
test({
253253
code: 'import * as Endpoints from "./issue-195/Endpoints"; console.log(Endpoints.Foo)',
254-
parser: require.resolve('babel-eslint'),
254+
parser: parsers.BABEL_OLD,
255255
errors: ["'Foo' not found in imported namespace 'Endpoints'."],
256256
}),
257257

@@ -316,7 +316,7 @@ const invalid = [].concat(
316316
///////////////////////
317317
// deep dereferences //
318318
//////////////////////
319-
;[['deep', require.resolve('espree')], ['deep-es7', require.resolve('babel-eslint')]].forEach(function ([folder, parser]) { // close over params
319+
;[['deep', require.resolve('espree')], ['deep-es7', parsers.BABEL_OLD]].forEach(function ([folder, parser]) { // close over params
320320
valid.push(
321321
test({ parser, code: `import * as a from "./${folder}/a"; console.log(a.b.c.d.e)` }),
322322
test({ parser, code: `import { b } from "./${folder}/a"; console.log(b.c.d.e)` }),

0 commit comments

Comments
 (0)