Skip to content

Commit 547e6e7

Browse files
committed
test: with v8
1 parent 87ca73b commit 547e6e7

18 files changed

+614
-348
lines changed

test/unit/eslint-plugin-next/google-font-display.test.ts

Lines changed: 32 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,10 @@
1-
import rule from '@next/eslint-plugin-next/dist/rules/google-font-display'
2-
import { RuleTester } from 'eslint'
3-
;(RuleTester as any).setDefaultConfig({
4-
parserOptions: {
5-
ecmaVersion: 2020,
6-
sourceType: 'module',
7-
ecmaFeatures: {
8-
modules: true,
9-
jsx: true,
10-
},
11-
},
12-
})
13-
const ruleTester = new RuleTester()
1+
import { RuleTester as ESLintTesterV8 } from 'eslint'
2+
import { RuleTester as ESLintTesterV9 } from 'eslint-v9'
3+
import { rules } from '@next/eslint-plugin-next'
144

15-
ruleTester.run('google-font-display', rule, {
5+
const NextESLintRule = rules['google-font-display']
6+
7+
const tests = {
168
valid: [
179
`import Head from "next/head";
1810
@@ -169,4 +161,30 @@ ruleTester.run('google-font-display', rule, {
169161
],
170162
},
171163
],
164+
}
165+
166+
describe('google-font-display', () => {
167+
new ESLintTesterV8({
168+
parserOptions: {
169+
ecmaVersion: 2020,
170+
sourceType: 'module',
171+
ecmaFeatures: {
172+
modules: true,
173+
jsx: true,
174+
},
175+
},
176+
}).run('eslint-v8', NextESLintRule, tests)
177+
178+
new ESLintTesterV9({
179+
languageOptions: {
180+
ecmaVersion: 2020,
181+
sourceType: 'module',
182+
parserOptions: {
183+
ecmaFeatures: {
184+
modules: true,
185+
jsx: true,
186+
},
187+
},
188+
},
189+
}).run('eslint-v9', NextESLintRule, tests)
172190
})

test/unit/eslint-plugin-next/google-font-preconnect.test.ts

Lines changed: 32 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,10 @@
1-
import rule from '@next/eslint-plugin-next/dist/rules/google-font-preconnect'
2-
import { RuleTester } from 'eslint'
3-
;(RuleTester as any).setDefaultConfig({
4-
parserOptions: {
5-
ecmaVersion: 2020,
6-
sourceType: 'module',
7-
ecmaFeatures: {
8-
modules: true,
9-
jsx: true,
10-
},
11-
},
12-
})
13-
const ruleTester = new RuleTester()
1+
import { RuleTester as ESLintTesterV8 } from 'eslint'
2+
import { RuleTester as ESLintTesterV9 } from 'eslint-v9'
3+
import { rules } from '@next/eslint-plugin-next'
144

15-
ruleTester.run('google-font-preconnect', rule, {
5+
const NextESLintRule = rules['google-font-preconnect']
6+
7+
const tests = {
168
valid: [
179
`export const Test = () => (
1810
<div>
@@ -64,4 +56,30 @@ ruleTester.run('google-font-preconnect', rule, {
6456
],
6557
},
6658
],
59+
}
60+
61+
describe('google-font-preconnect', () => {
62+
new ESLintTesterV8({
63+
parserOptions: {
64+
ecmaVersion: 2020,
65+
sourceType: 'module',
66+
ecmaFeatures: {
67+
modules: true,
68+
jsx: true,
69+
},
70+
},
71+
}).run('eslint-v8', NextESLintRule, tests)
72+
73+
new ESLintTesterV9({
74+
languageOptions: {
75+
ecmaVersion: 2020,
76+
sourceType: 'module',
77+
parserOptions: {
78+
ecmaFeatures: {
79+
modules: true,
80+
jsx: true,
81+
},
82+
},
83+
},
84+
}).run('eslint-v9', NextESLintRule, tests)
6785
})

test/unit/eslint-plugin-next/inline-script-id.test.ts

Lines changed: 32 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,13 @@
1-
import rule from '@next/eslint-plugin-next/dist/rules/inline-script-id'
2-
import { RuleTester } from 'eslint'
3-
;(RuleTester as any).setDefaultConfig({
4-
parserOptions: {
5-
ecmaVersion: 2018,
6-
sourceType: 'module',
7-
ecmaFeatures: {
8-
modules: true,
9-
jsx: true,
10-
},
11-
},
12-
})
1+
import { RuleTester as ESLintTesterV8 } from 'eslint'
2+
import { RuleTester as ESLintTesterV9 } from 'eslint-v9'
3+
import { rules } from '@next/eslint-plugin-next'
4+
5+
const NextESLintRule = rules['inline-script-id']
136

147
const errorMessage =
158
'`next/script` components with inline content must specify an `id` attribute. See: https://nextjs.org/docs/messages/inline-script-id'
169

17-
const ruleTester = new RuleTester()
18-
ruleTester.run('inline-script-id', rule, {
10+
const tests = {
1911
valid: [
2012
{
2113
code: `import Script from 'next/script';
@@ -184,4 +176,30 @@ ruleTester.run('inline-script-id', rule, {
184176
],
185177
},
186178
],
179+
}
180+
181+
describe('inline-script-id', () => {
182+
new ESLintTesterV8({
183+
parserOptions: {
184+
ecmaVersion: 2018,
185+
sourceType: 'module',
186+
ecmaFeatures: {
187+
modules: true,
188+
jsx: true,
189+
},
190+
},
191+
}).run('eslint-v8', NextESLintRule, tests)
192+
193+
new ESLintTesterV9({
194+
languageOptions: {
195+
ecmaVersion: 2018,
196+
sourceType: 'module',
197+
parserOptions: {
198+
ecmaFeatures: {
199+
modules: true,
200+
jsx: true,
201+
},
202+
},
203+
},
204+
}).run('eslint-v9', NextESLintRule, tests)
187205
})

test/unit/eslint-plugin-next/next-script-for-ga.test.ts

Lines changed: 32 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,13 @@
1-
import rule from '@next/eslint-plugin-next/dist/rules/next-script-for-ga'
2-
import { RuleTester } from 'eslint'
3-
;(RuleTester as any).setDefaultConfig({
4-
parserOptions: {
5-
ecmaVersion: 2018,
6-
sourceType: 'module',
7-
ecmaFeatures: {
8-
modules: true,
9-
jsx: true,
10-
},
11-
},
12-
})
1+
import { RuleTester as ESLintTesterV8 } from 'eslint'
2+
import { RuleTester as ESLintTesterV9 } from 'eslint-v9'
3+
import { rules } from '@next/eslint-plugin-next'
4+
5+
const NextESLintRule = rules['next-script-for-ga']
136

147
const ERROR_MSG =
158
'Prefer `next/script` component when using the inline script for Google Analytics. See: https://nextjs.org/docs/messages/next-script-for-ga'
169

17-
const ruleTester = new RuleTester()
18-
19-
ruleTester.run('sync-scripts', rule, {
10+
const tests = {
2011
valid: [
2112
`import Script from 'next/script'
2213
@@ -238,4 +229,30 @@ ruleTester.run('sync-scripts', rule, {
238229
],
239230
},
240231
],
232+
}
233+
234+
describe('next-script-for-ga', () => {
235+
new ESLintTesterV8({
236+
parserOptions: {
237+
ecmaVersion: 2018,
238+
sourceType: 'module',
239+
ecmaFeatures: {
240+
modules: true,
241+
jsx: true,
242+
},
243+
},
244+
}).run('eslint-v8', NextESLintRule, tests)
245+
246+
new ESLintTesterV9({
247+
languageOptions: {
248+
ecmaVersion: 2018,
249+
sourceType: 'module',
250+
parserOptions: {
251+
ecmaFeatures: {
252+
modules: true,
253+
jsx: true,
254+
},
255+
},
256+
},
257+
}).run('eslint-v9', NextESLintRule, tests)
241258
})

test/unit/eslint-plugin-next/no-assign-module-variable.test.ts

Lines changed: 32 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,10 @@
1-
import rule from '@next/eslint-plugin-next/dist/rules/no-assign-module-variable'
2-
import { RuleTester } from 'eslint'
3-
;(RuleTester as any).setDefaultConfig({
4-
parserOptions: {
5-
ecmaVersion: 2018,
6-
sourceType: 'module',
7-
ecmaFeatures: {
8-
modules: true,
9-
jsx: true,
10-
},
11-
},
12-
})
13-
const ruleTester = new RuleTester()
1+
import { RuleTester as ESLintTesterV8 } from 'eslint'
2+
import { RuleTester as ESLintTesterV9 } from 'eslint-v9'
3+
import { rules } from '@next/eslint-plugin-next'
144

15-
ruleTester.run('no-assign-module-variable', rule, {
5+
const NextESLintRule = rules['no-assign-module-variable']
6+
7+
const tests = {
168
valid: [
179
`
1810
let myModule = {};
@@ -39,4 +31,30 @@ ruleTester.run('no-assign-module-variable', rule, {
3931
],
4032
},
4133
],
34+
}
35+
36+
describe('no-assign-module-variable', () => {
37+
new ESLintTesterV8({
38+
parserOptions: {
39+
ecmaVersion: 2018,
40+
sourceType: 'module',
41+
ecmaFeatures: {
42+
modules: true,
43+
jsx: true,
44+
},
45+
},
46+
}).run('eslint-v8', NextESLintRule, tests)
47+
48+
new ESLintTesterV9({
49+
languageOptions: {
50+
ecmaVersion: 2018,
51+
sourceType: 'module',
52+
parserOptions: {
53+
ecmaFeatures: {
54+
modules: true,
55+
jsx: true,
56+
},
57+
},
58+
},
59+
}).run('eslint-v9', NextESLintRule, tests)
4260
})

0 commit comments

Comments
 (0)