|
7 | 7 | const RuleTester = require("#test-helpers").RuleTester |
8 | 8 | const rule = require("../../../../lib/rules/prefer-global/text-decoder") |
9 | 9 |
|
| 10 | +const provideModuleMethods = ["require", "process.getBuiltinModule"] |
| 11 | + |
10 | 12 | new RuleTester().run("prefer-global/text-decoder", rule, { |
11 | 13 | valid: [ |
12 | 14 | "var b = new TextDecoder(s)", |
13 | 15 | { |
14 | 16 | code: "var b = new TextDecoder(s)", |
15 | 17 | options: ["always"], |
16 | 18 | }, |
17 | | - { |
18 | | - code: "var { TextDecoder } = require('util'); var b = new TextDecoder(s)", |
19 | | - options: ["never"], |
20 | | - }, |
21 | | - { |
22 | | - code: "var { TextDecoder } = require('node:util'); var b = new TextDecoder(s)", |
23 | | - options: ["never"], |
24 | | - }, |
| 19 | + ...provideModuleMethods.flatMap(method => [ |
| 20 | + { |
| 21 | + code: `var { TextDecoder } = ${method}('util'); var b = new TextDecoder(s)`, |
| 22 | + options: ["never"], |
| 23 | + }, |
| 24 | + { |
| 25 | + code: `var { TextDecoder } = ${method}('node:util'); var b = new TextDecoder(s)`, |
| 26 | + options: ["never"], |
| 27 | + }, |
| 28 | + ]), |
25 | 29 | ], |
26 | 30 | invalid: [ |
27 | | - { |
28 | | - code: "var { TextDecoder } = require('util'); var b = new TextDecoder(s)", |
29 | | - errors: [{ messageId: "preferGlobal" }], |
30 | | - }, |
31 | | - { |
32 | | - code: "var { TextDecoder } = require('node:util'); var b = new TextDecoder(s)", |
33 | | - errors: [{ messageId: "preferGlobal" }], |
34 | | - }, |
35 | | - { |
36 | | - code: "var { TextDecoder } = require('util'); var b = new TextDecoder(s)", |
37 | | - options: ["always"], |
38 | | - errors: [{ messageId: "preferGlobal" }], |
39 | | - }, |
40 | | - { |
41 | | - code: "var { TextDecoder } = require('node:util'); var b = new TextDecoder(s)", |
42 | | - options: ["always"], |
43 | | - errors: [{ messageId: "preferGlobal" }], |
44 | | - }, |
| 31 | + ...provideModuleMethods.flatMap(method => [ |
| 32 | + { |
| 33 | + code: `var { TextDecoder } = ${method}('util'); var b = new TextDecoder(s)`, |
| 34 | + errors: [{ messageId: "preferGlobal" }], |
| 35 | + }, |
| 36 | + { |
| 37 | + code: `var { TextDecoder } = ${method}('node:util'); var b = new TextDecoder(s)`, |
| 38 | + errors: [{ messageId: "preferGlobal" }], |
| 39 | + }, |
| 40 | + { |
| 41 | + code: `var { TextDecoder } = ${method}('util'); var b = new TextDecoder(s)`, |
| 42 | + options: ["always"], |
| 43 | + errors: [{ messageId: "preferGlobal" }], |
| 44 | + }, |
| 45 | + { |
| 46 | + code: `var { TextDecoder } = ${method}('node:util'); var b = new TextDecoder(s)`, |
| 47 | + options: ["always"], |
| 48 | + errors: [{ messageId: "preferGlobal" }], |
| 49 | + }, |
| 50 | + ]), |
45 | 51 | { |
46 | 52 | code: "var b = new TextDecoder(s)", |
47 | 53 | options: ["never"], |
|
0 commit comments