]>
git.proxmox.com Git - pve-eslint.git/blob - eslint/tests/lib/rules/no-import-assign.js
2 * @fileoverview Tests for no-import-assign rule.
3 * @author Toru Nagashima <https://github.com/mysticatea>
8 //------------------------------------------------------------------------------
10 //------------------------------------------------------------------------------
12 const rule
= require("../../../lib/rules/no-import-assign"),
13 { RuleTester
} = require("../../../lib/rule-tester");
15 //------------------------------------------------------------------------------
17 //------------------------------------------------------------------------------
19 const ruleTester
= new RuleTester({
29 ruleTester
.run("no-import-assign", rule
, {
31 "import mod from 'mod'; mod.prop = 0",
32 "import mod from 'mod'; mod.prop += 0",
33 "import mod from 'mod'; mod.prop++",
34 "import mod from 'mod'; delete mod.prop",
35 "import mod from 'mod'; for (mod.prop in foo);",
36 "import mod from 'mod'; for (mod.prop of foo);",
37 "import mod from 'mod'; [mod.prop] = foo;",
38 "import mod from 'mod'; [...mod.prop] = foo;",
39 "import mod from 'mod'; ({ bar: mod.prop } = foo);",
40 "import mod from 'mod'; ({ ...mod.prop } = foo);",
41 "import {named} from 'mod'; named.prop = 0",
42 "import {named} from 'mod'; named.prop += 0",
43 "import {named} from 'mod'; named.prop++",
44 "import {named} from 'mod'; delete named.prop",
45 "import {named} from 'mod'; for (named.prop in foo);",
46 "import {named} from 'mod'; for (named.prop of foo);",
47 "import {named} from 'mod'; [named.prop] = foo;",
48 "import {named} from 'mod'; [...named.prop] = foo;",
49 "import {named} from 'mod'; ({ bar: named.prop } = foo);",
50 "import {named} from 'mod'; ({ ...named.prop } = foo);",
51 "import * as mod from 'mod'; mod.named.prop = 0",
52 "import * as mod from 'mod'; mod.named.prop += 0",
53 "import * as mod from 'mod'; mod.named.prop++",
54 "import * as mod from 'mod'; delete mod.named.prop",
55 "import * as mod from 'mod'; for (mod.named.prop in foo);",
56 "import * as mod from 'mod'; for (mod.named.prop of foo);",
57 "import * as mod from 'mod'; [mod.named.prop] = foo;",
58 "import * as mod from 'mod'; [...mod.named.prop] = foo;",
59 "import * as mod from 'mod'; ({ bar: mod.named.prop } = foo);",
60 "import * as mod from 'mod'; ({ ...mod.named.prop } = foo);",
61 "import * as mod from 'mod'; obj[mod] = 0",
62 "import * as mod from 'mod'; obj[mod.named] = 0",
63 "import * as mod from 'mod'; for (var foo in mod.named);",
64 "import * as mod from 'mod'; for (var foo of mod.named);",
65 "import * as mod from 'mod'; [bar = mod.named] = foo;",
66 "import * as mod from 'mod'; ({ bar = mod.named } = foo);",
67 "import * as mod from 'mod'; ({ bar: baz = mod.named } = foo);",
68 "import * as mod from 'mod'; ({ [mod.named]: bar } = foo);",
69 "import * as mod from 'mod'; var obj = { ...mod.named };",
70 "import * as mod from 'mod'; var obj = { foo: mod.named };",
71 "import mod from 'mod'; { let mod = 0; mod = 1 }",
72 "import * as mod from 'mod'; { let mod = 0; mod = 1 }",
73 "import * as mod from 'mod'; { let mod = 0; mod.named = 1 }",
74 "import {} from 'mod'",
76 "import mod from 'mod'; Object.assign(mod, obj);",
77 "import {named} from 'mod'; Object.assign(named, obj);",
78 "import * as mod from 'mod'; Object.assign(mod.prop, obj);",
79 "import * as mod from 'mod'; Object.assign(obj, mod, other);",
80 "import * as mod from 'mod'; Object[assign](mod, obj);",
81 "import * as mod from 'mod'; Object.getPrototypeOf(mod);",
82 "import * as mod from 'mod'; Reflect.set(obj, key, mod);",
83 "import * as mod from 'mod'; { var Object; Object.assign(mod, obj); }",
84 "import * as mod from 'mod'; var Object; Object.assign(mod, obj);",
85 "import * as mod from 'mod'; Object.seal(mod, obj)",
86 "import * as mod from 'mod'; Object.preventExtensions(mod)",
87 "import * as mod from 'mod'; Reflect.preventExtensions(mod)"
91 code
: "import mod1 from 'mod'; mod1 = 0",
92 errors
: [{ messageId
: "readonly", data
: { name
: "mod1" }, column
: 25 }]
95 code
: "import mod2 from 'mod'; mod2 += 0",
96 errors
: [{ messageId
: "readonly", data
: { name
: "mod2" }, column
: 25 }]
99 code
: "import mod3 from 'mod'; mod3++",
100 errors
: [{ messageId
: "readonly", data
: { name
: "mod3" }, column
: 25 }]
103 code
: "import mod4 from 'mod'; for (mod4 in foo);",
104 errors
: [{ messageId
: "readonly", data
: { name
: "mod4" }, column
: 25 }]
107 code
: "import mod5 from 'mod'; for (mod5 of foo);",
108 errors
: [{ messageId
: "readonly", data
: { name
: "mod5" }, column
: 25 }]
111 code
: "import mod6 from 'mod'; [mod6] = foo",
112 errors
: [{ messageId
: "readonly", data
: { name
: "mod6" }, column
: 25 }]
115 code
: "import mod7 from 'mod'; [mod7 = 0] = foo",
116 errors
: [{ messageId
: "readonly", data
: { name
: "mod7" }, column
: 25 }]
119 code
: "import mod8 from 'mod'; [...mod8] = foo",
120 errors
: [{ messageId
: "readonly", data
: { name
: "mod8" }, column
: 25 }]
123 code
: "import mod9 from 'mod'; ({ bar: mod9 } = foo)",
124 errors
: [{ messageId
: "readonly", data
: { name
: "mod9" }, column
: 26 }]
127 code
: "import mod10 from 'mod'; ({ bar: mod10 = 0 } = foo)",
128 errors
: [{ messageId
: "readonly", data
: { name
: "mod10" }, column
: 27 }]
131 code
: "import mod11 from 'mod'; ({ ...mod11 } = foo)",
132 errors
: [{ messageId
: "readonly", data
: { name
: "mod11" }, column
: 27 }]
135 code
: "import {named1} from 'mod'; named1 = 0",
136 errors
: [{ messageId
: "readonly", data
: { name
: "named1" }, column
: 29 }]
139 code
: "import {named2} from 'mod'; named2 += 0",
140 errors
: [{ messageId
: "readonly", data
: { name
: "named2" }, column
: 29 }]
143 code
: "import {named3} from 'mod'; named3++",
144 errors
: [{ messageId
: "readonly", data
: { name
: "named3" }, column
: 29 }]
147 code
: "import {named4} from 'mod'; for (named4 in foo);",
148 errors
: [{ messageId
: "readonly", data
: { name
: "named4" }, column
: 29 }]
151 code
: "import {named5} from 'mod'; for (named5 of foo);",
152 errors
: [{ messageId
: "readonly", data
: { name
: "named5" }, column
: 29 }]
155 code
: "import {named6} from 'mod'; [named6] = foo",
156 errors
: [{ messageId
: "readonly", data
: { name
: "named6" }, column
: 29 }]
159 code
: "import {named7} from 'mod'; [named7 = 0] = foo",
160 errors
: [{ messageId
: "readonly", data
: { name
: "named7" }, column
: 29 }]
163 code
: "import {named8} from 'mod'; [...named8] = foo",
164 errors
: [{ messageId
: "readonly", data
: { name
: "named8" }, column
: 29 }]
167 code
: "import {named9} from 'mod'; ({ bar: named9 } = foo)",
168 errors
: [{ messageId
: "readonly", data
: { name
: "named9" }, column
: 30 }]
171 code
: "import {named10} from 'mod'; ({ bar: named10 = 0 } = foo)",
172 errors
: [{ messageId
: "readonly", data
: { name
: "named10" }, column
: 31 }]
175 code
: "import {named11} from 'mod'; ({ ...named11 } = foo)",
176 errors
: [{ messageId
: "readonly", data
: { name
: "named11" }, column
: 31 }]
179 code
: "import {named12 as foo} from 'mod'; foo = 0; named12 = 0",
180 errors
: [{ messageId
: "readonly", data
: { name
: "foo" }, column
: 37 }]
183 code
: "import * as mod1 from 'mod'; mod1 = 0",
184 errors
: [{ messageId
: "readonly", data
: { name
: "mod1" }, column
: 30 }]
187 code
: "import * as mod2 from 'mod'; mod2 += 0",
188 errors
: [{ messageId
: "readonly", data
: { name
: "mod2" }, column
: 30 }]
191 code
: "import * as mod3 from 'mod'; mod3++",
192 errors
: [{ messageId
: "readonly", data
: { name
: "mod3" }, column
: 30 }]
195 code
: "import * as mod4 from 'mod'; for (mod4 in foo);",
196 errors
: [{ messageId
: "readonly", data
: { name
: "mod4" }, column
: 30 }]
199 code
: "import * as mod5 from 'mod'; for (mod5 of foo);",
200 errors
: [{ messageId
: "readonly", data
: { name
: "mod5" }, column
: 30 }]
203 code
: "import * as mod6 from 'mod'; [mod6] = foo",
204 errors
: [{ messageId
: "readonly", data
: { name
: "mod6" }, column
: 30 }]
207 code
: "import * as mod7 from 'mod'; [mod7 = 0] = foo",
208 errors
: [{ messageId
: "readonly", data
: { name
: "mod7" }, column
: 30 }]
211 code
: "import * as mod8 from 'mod'; [...mod8] = foo",
212 errors
: [{ messageId
: "readonly", data
: { name
: "mod8" }, column
: 30 }]
215 code
: "import * as mod9 from 'mod'; ({ bar: mod9 } = foo)",
216 errors
: [{ messageId
: "readonly", data
: { name
: "mod9" }, column
: 31 }]
219 code
: "import * as mod10 from 'mod'; ({ bar: mod10 = 0 } = foo)",
220 errors
: [{ messageId
: "readonly", data
: { name
: "mod10" }, column
: 32 }]
223 code
: "import * as mod11 from 'mod'; ({ ...mod11 } = foo)",
224 errors
: [{ messageId
: "readonly", data
: { name
: "mod11" }, column
: 32 }]
227 code
: "import * as mod1 from 'mod'; mod1.named = 0",
228 errors
: [{ messageId
: "readonlyMember", data
: { name
: "mod1" }, column
: 30 }]
231 code
: "import * as mod2 from 'mod'; mod2.named += 0",
232 errors
: [{ messageId
: "readonlyMember", data
: { name
: "mod2" }, column
: 30 }]
235 code
: "import * as mod3 from 'mod'; mod3.named++",
236 errors
: [{ messageId
: "readonlyMember", data
: { name
: "mod3" }, column
: 30 }]
239 code
: "import * as mod4 from 'mod'; for (mod4.named in foo);",
240 errors
: [{ messageId
: "readonlyMember", data
: { name
: "mod4" }, column
: 30 }]
243 code
: "import * as mod5 from 'mod'; for (mod5.named of foo);",
244 errors
: [{ messageId
: "readonlyMember", data
: { name
: "mod5" }, column
: 30 }]
247 code
: "import * as mod6 from 'mod'; [mod6.named] = foo",
248 errors
: [{ messageId
: "readonlyMember", data
: { name
: "mod6" }, column
: 30 }]
251 code
: "import * as mod7 from 'mod'; [mod7.named = 0] = foo",
252 errors
: [{ messageId
: "readonlyMember", data
: { name
: "mod7" }, column
: 30 }]
255 code
: "import * as mod8 from 'mod'; [...mod8.named] = foo",
256 errors
: [{ messageId
: "readonlyMember", data
: { name
: "mod8" }, column
: 30 }]
259 code
: "import * as mod9 from 'mod'; ({ bar: mod9.named } = foo)",
260 errors
: [{ messageId
: "readonlyMember", data
: { name
: "mod9" }, column
: 31 }]
263 code
: "import * as mod10 from 'mod'; ({ bar: mod10.named = 0 } = foo)",
264 errors
: [{ messageId
: "readonlyMember", data
: { name
: "mod10" }, column
: 32 }]
267 code
: "import * as mod11 from 'mod'; ({ ...mod11.named } = foo)",
268 errors
: [{ messageId
: "readonlyMember", data
: { name
: "mod11" }, column
: 32 }]
271 code
: "import * as mod12 from 'mod'; delete mod12.named",
272 errors
: [{ messageId
: "readonlyMember", data
: { name
: "mod12" }, column
: 31 }]
275 code
: "import * as mod from 'mod'; Object.assign(mod, obj)",
276 errors
: [{ messageId
: "readonlyMember", data
: { name
: "mod" }, column
: 29 }]
279 code
: "import * as mod from 'mod'; Object.defineProperty(mod, key, d)",
280 errors
: [{ messageId
: "readonlyMember", data
: { name
: "mod" }, column
: 29 }]
283 code
: "import * as mod from 'mod'; Object.defineProperties(mod, d)",
284 errors
: [{ messageId
: "readonlyMember", data
: { name
: "mod" }, column
: 29 }]
287 code
: "import * as mod from 'mod'; Object.setPrototypeOf(mod, proto)",
288 errors
: [{ messageId
: "readonlyMember", data
: { name
: "mod" }, column
: 29 }]
291 code
: "import * as mod from 'mod'; Object.freeze(mod)",
292 errors
: [{ messageId
: "readonlyMember", data
: { name
: "mod" }, column
: 29 }]
295 code
: "import * as mod from 'mod'; Reflect.defineProperty(mod, key, d)",
296 errors
: [{ messageId
: "readonlyMember", data
: { name
: "mod" }, column
: 29 }]
299 code
: "import * as mod from 'mod'; Reflect.deleteProperty(mod, key)",
300 errors
: [{ messageId
: "readonlyMember", data
: { name
: "mod" }, column
: 29 }]
303 code
: "import * as mod from 'mod'; Reflect.set(mod, key, value)",
304 errors
: [{ messageId
: "readonlyMember", data
: { name
: "mod" }, column
: 29 }]
307 code
: "import * as mod from 'mod'; Reflect.setPrototypeOf(mod, proto)",
308 errors
: [{ messageId
: "readonlyMember", data
: { name
: "mod" }, column
: 29 }]
311 code
: "import mod, * as mod_ns from 'mod'; mod.prop = 0; mod_ns.prop = 0",
312 errors
: [{ messageId
: "readonlyMember", data
: { name
: "mod_ns" }, column
: 51 }]