1
1
import dedent from 'dedent' ;
2
2
import rule from '../prefer-importing-jest-globals' ;
3
- import { FlatCompatRuleTester as RuleTester , espreeParser } from './test-utils' ;
3
+ import {
4
+ FlatCompatRuleTester as RuleTester ,
5
+ eslintMajorVersion ,
6
+ espreeParser ,
7
+ } from './test-utils' ;
4
8
5
9
const ruleTester = new RuleTester ( {
6
10
parser : espreeParser ,
@@ -10,27 +14,93 @@ const ruleTester = new RuleTester({
10
14
} ,
11
15
} ) ;
12
16
13
- ruleTester . run ( 'prefer-importing-jest-globals' , rule , {
14
- valid : [
15
- {
16
- code : dedent `
17
+ if ( eslintMajorVersion >= 8 ) {
18
+ ruleTester . run ( 'prefer-importing-jest-globals (string imports)' , rule , {
19
+ valid : [
20
+ {
21
+ code : dedent `
17
22
// with import
18
- import { test, expect } from '@jest/globals';
23
+ import { 'test' as test, expect } from '@jest/globals';
19
24
test('should pass', () => {
20
25
expect(true).toBeDefined();
21
26
});
22
27
` ,
23
- parserOptions : { sourceType : 'module' } ,
24
- } ,
28
+ parserOptions : { sourceType : 'module' , ecmaVersion : 2022 } ,
29
+ } ,
30
+ {
31
+ code : dedent `
32
+ import { 'it' as itChecks } from '@jest/globals';
33
+ itChecks("foo");
34
+ ` ,
35
+ parserOptions : { sourceType : 'module' , ecmaVersion : 2022 } ,
36
+ } ,
37
+ ] ,
38
+ invalid : [
39
+ {
40
+ code : dedent `
41
+ import { 'describe' as describe } from '@jest/globals';
42
+ describe("suite", () => {
43
+ test("foo");
44
+ expect(true).toBeDefined();
45
+ })
46
+ ` ,
47
+ output : dedent `
48
+ import { 'describe' as describe, expect, test } from '@jest/globals';
49
+ describe("suite", () => {
50
+ test("foo");
51
+ expect(true).toBeDefined();
52
+ })
53
+ ` ,
54
+ parserOptions : { sourceType : 'module' , ecmaVersion : 2022 } ,
55
+ errors : [
56
+ {
57
+ endColumn : 7 ,
58
+ column : 3 ,
59
+ line : 3 ,
60
+ messageId : 'preferImportingJestGlobal' ,
61
+ } ,
62
+ ] ,
63
+ } ,
64
+ {
65
+ code : dedent `
66
+ import { 'describe' as context } from '@jest/globals';
67
+ context("suite", () => {
68
+ test("foo");
69
+ expect(true).toBeDefined();
70
+ })
71
+ ` ,
72
+ output : dedent `
73
+ import { 'describe' as context, expect, test } from '@jest/globals';
74
+ context("suite", () => {
75
+ test("foo");
76
+ expect(true).toBeDefined();
77
+ })
78
+ ` ,
79
+ parserOptions : { sourceType : 'module' , ecmaVersion : 2022 } ,
80
+ errors : [
81
+ {
82
+ endColumn : 7 ,
83
+ column : 3 ,
84
+ line : 3 ,
85
+ messageId : 'preferImportingJestGlobal' ,
86
+ } ,
87
+ ] ,
88
+ } ,
89
+ ] ,
90
+ } ) ;
91
+ }
92
+
93
+ ruleTester . run ( 'prefer-importing-jest-globals' , rule , {
94
+ valid : [
25
95
{
26
96
code : dedent `
27
97
// with import
28
- import { 'test' as test, expect } from '@jest/globals';
98
+ import { test, expect } from '@jest/globals';
29
99
test('should pass', () => {
30
100
expect(true).toBeDefined();
31
101
});
32
102
` ,
33
- parserOptions : { sourceType : 'module' , ecmaVersion : 2022 } ,
103
+ parserOptions : { sourceType : 'module' } ,
34
104
} ,
35
105
{
36
106
code : dedent `
@@ -75,13 +145,6 @@ ruleTester.run('prefer-importing-jest-globals', rule, {
75
145
` ,
76
146
parserOptions : { sourceType : 'module' } ,
77
147
} ,
78
- {
79
- code : dedent `
80
- import { 'it' as itChecks } from '@jest/globals';
81
- itChecks("foo");
82
- ` ,
83
- parserOptions : { sourceType : 'module' , ecmaVersion : 2022 } ,
84
- } ,
85
148
{
86
149
code : dedent `
87
150
const { test } = require('@jest/globals');
@@ -175,56 +238,6 @@ ruleTester.run('prefer-importing-jest-globals', rule, {
175
238
} ,
176
239
] ,
177
240
} ,
178
- {
179
- code : dedent `
180
- import { 'describe' as describe } from '@jest/globals';
181
- describe("suite", () => {
182
- test("foo");
183
- expect(true).toBeDefined();
184
- })
185
- ` ,
186
- output : dedent `
187
- import { 'describe' as describe, expect, test } from '@jest/globals';
188
- describe("suite", () => {
189
- test("foo");
190
- expect(true).toBeDefined();
191
- })
192
- ` ,
193
- parserOptions : { sourceType : 'module' , ecmaVersion : 2022 } ,
194
- errors : [
195
- {
196
- endColumn : 7 ,
197
- column : 3 ,
198
- line : 3 ,
199
- messageId : 'preferImportingJestGlobal' ,
200
- } ,
201
- ] ,
202
- } ,
203
- {
204
- code : dedent `
205
- import { 'describe' as context } from '@jest/globals';
206
- context("suite", () => {
207
- test("foo");
208
- expect(true).toBeDefined();
209
- })
210
- ` ,
211
- output : dedent `
212
- import { 'describe' as context, expect, test } from '@jest/globals';
213
- context("suite", () => {
214
- test("foo");
215
- expect(true).toBeDefined();
216
- })
217
- ` ,
218
- parserOptions : { sourceType : 'module' , ecmaVersion : 2022 } ,
219
- errors : [
220
- {
221
- endColumn : 7 ,
222
- column : 3 ,
223
- line : 3 ,
224
- messageId : 'preferImportingJestGlobal' ,
225
- } ,
226
- ] ,
227
- } ,
228
241
{
229
242
code : dedent `
230
243
jest.useFakeTimers();
0 commit comments